- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# layer.h

Go to the documentation of this file.

    00001
    00002 //**************************************************************************/
    00003 // Copyright (c) 2008 Autodesk, Inc.
    00004 // All rights reserved.
    00005 //
    00006 // Use of this software is subject to the terms of the Autodesk license
    00007 // agreement provided at the time of installation or download, or which
    00008 // otherwise accompanies this software in either electronic or hard copy form.
    00009 //
    00010 //**************************************************************************/
    00011 // DESCRIPTION:
    00012 // CREATED: October 2008
    00013 //**************************************************************************/
    00014
    00015 namespace mudbox {
    00016
    00020 class MBDLL_DECL Layer : virtual public TreeNode
    00021 {
    00022     DECLARE_CLASS;
    00023
    00024 public:
    00026     virtual float Transparency( void ) const;
    00027
    00029     virtual void SetTransparency(
    00030         float fTransparency
    00031         );
    00032
    00034     virtual Layer *Children( void ) const;
    00035
    00037     virtual Layer *Next( void ) const;
    00038
    00040     virtual Layer *Prev( void ) const;
    00041
    00043     virtual class LayerContainer *Container( void ) const;
    00044 };
    00045
    00047 class MBDLL_DECL LayerContainer : virtual public TreeNode
    00048 {
    00049     DECLARE_CLASS;
    00050
    00051 public:
    00053     virtual unsigned int LayerCount( void ) const;
    00054
    00056     virtual class Layer *Layer(
    00057         unsigned int iLayerIndex
    00058         ) const;
    00059
    00061     virtual unsigned int LayerIndex(
    00062         const class Layer *pLayer
    00063         ) const;
    00064
    00066     virtual void UnlinkLayer(
    00067         class Layer *pLayer
    00068         );
    00069
    00071     virtual void AddLayer(
    00072         class Layer *pLayer
    00073         );
    00074
    00076     virtual class Layer *CreateLayer( void );
    00077
    00079     virtual class Layer *ActiveLayer( void ) const;
    00080
    00082     virtual void SetActiveLayer(
    00083         class Layer *pLayer
    00084         );
    00085
    00087     virtual void MoveLayer(
    00088         class Layer *pLayer,
    00089         class Layer *pWhere,
    00090         bool bBefore
    00091         );
    00092
    00094     virtual void ReparentLayer(
    00095         class Layer *pLayer,
    00096         class Layer *pParent
    00097         );
    00098
    00100     virtual class Layer *BaseLayer( void ) const;
    00101
    00103     virtual void Serialize(
    00104         Stream &s
    00105         );
    00106 };
    00107
    00121 class MBDLL_DECL LayerMeshData : public TreeNode
    00122 {
    00123     DECLARE_CLASS;
    00124 public:
    00126     virtual void SetName(
    00127         const QString &sName
    00128         );
    00129
    00131     virtual QString Name( void ) const;
    00132
    00134     virtual bool Visible() const;
    00135
    00137     virtual void SetVisible( bool bVisible );
    00138
    00140     virtual mudbox::Mesh* Mesh() const;
    00141
    00143     virtual void SetTransparency(
    00144         float fTransparency
    00145         );
    00146
    00148     virtual float Transparency( void ) const;
    00149
    00157     virtual unsigned int LayerVertexIndex (
    00158         unsigned int iVertexIndex,
    00159         bool bCreate = true
    00160         );
    00161
    00167     virtual void SetVertexCount(
    00168         unsigned int iVertexCount
    00169         );
    00170
    00173     virtual unsigned int VertexCount() const;
    00174
    00177     virtual unsigned int MeshVertexIndex(
    00178         unsigned int iLayerVertexIndex
    00179         ) const;
    00180
    00182     virtual void SetVertexData(
    00183         unsigned int iVertexLayerIndex,
    00184         unsigned int iGlobalVertexIndex,
    00185         float fMask
    00186         );
    00187
    00189     virtual Vector SetVertexDelta(
    00190         unsigned int iVertexLayerIndex,
    00191         unsigned int iGlobalVertexIndex,
    00192         const Vector &vDelta,
    00193         bool bUpdate = true
    00194     );
    00195
    00197     virtual void SetVertexMask(
    00198         unsigned int iVertexLayerIndex,
    00199         float fMask
    00200         );
    00201
    00203     virtual float VertexMask(
    00204         unsigned int iVertexLayerIndex
    00205         );
    00206
    00208     virtual Vector VertexDelta(
    00209         unsigned int iVertexLayerIndex
    00210         );
    00211
    00216     virtual bool FinishChanges();
    00217
    00218     virtual void Transform( const Matrix &mMatrix );
    00219 };
    00220
    00221 }; // end of namespace mudbox