layer.h

Go to the documentation of this file.
00001 
00002 
00003 //**************************************************************************/
00004 
00005 // Copyright (c) 2008 Autodesk, Inc.
00006 
00007 // All rights reserved.
00008 
00009 //
00010 
00011 // Use of this software is subject to the terms of the Autodesk license
00012 
00013 // agreement provided at the time of installation or download, or which
00014 
00015 // otherwise accompanies this software in either electronic or hard copy form.
00016 
00017 //
00018 
00019 //**************************************************************************/
00020 
00021 // DESCRIPTION:
00022 
00023 // CREATED: October 2008
00024 
00025 //**************************************************************************/
00026 
00027 
00028 
00029 namespace mudbox {
00030 
00031 
00032 
00034 
00036 
00038 
00039 class MBDLL_DECL Layer : virtual public TreeNode
00040 
00041 {
00042 
00043     DECLARE_CLASS;
00044 
00045 
00046 
00047 public:
00048 
00050 
00051     virtual float Transparency( void ) const;
00052 
00053     
00054 
00056 
00057     virtual void SetTransparency(
00058 
00059         float fTransparency     
00060 
00061         );
00062 
00063 
00064 
00066 
00067     virtual Layer *Children( void ) const;
00068 
00069     
00070 
00072 
00073     virtual Layer *Next( void ) const;
00074 
00075     
00076 
00078 
00079     virtual Layer *Prev( void ) const;
00080 
00081     
00082 
00084 
00085     virtual class LayerContainer *Container( void ) const;
00086 
00087 };
00088 
00089 
00090 
00092 
00093 class MBDLL_DECL LayerContainer : virtual public TreeNode
00094 
00095 {
00096 
00097     DECLARE_CLASS;
00098 
00099 
00100 
00101 public:
00102 
00104 
00105     virtual unsigned int LayerCount( void ) const;
00106 
00107     
00108 
00110 
00111     virtual class Layer *Layer(
00112 
00113         unsigned int iLayerIndex    
00114 
00115         ) const;
00116 
00117         
00118 
00120 
00121     virtual unsigned int LayerIndex(
00122 
00123         const class Layer *pLayer           
00124 
00125         ) const;
00126 
00127     
00128 
00130 
00131     virtual void UnlinkLayer(
00132 
00133         class Layer *pLayer     
00134 
00135         );
00136 
00137     
00138 
00140 
00141     virtual void AddLayer(
00142 
00143         class Layer *pLayer     
00144 
00145         );
00146 
00147     
00148 
00150 
00151     virtual class Layer *CreateLayer( void );
00152 
00153     
00154 
00156 
00157     virtual class Layer *ActiveLayer( void ) const;
00158 
00159     
00160 
00162 
00163     virtual void SetActiveLayer(
00164 
00165         class Layer *pLayer     
00166 
00167         );
00168 
00169         
00170 
00172 
00173     virtual void MoveLayer(
00174 
00175         class Layer *pLayer,    
00176 
00177         class Layer *pWhere,    
00178 
00179         bool bBefore            
00180 
00181         );
00182 
00183     
00184 
00186 
00187     virtual void ReparentLayer(
00188 
00189         class Layer *pLayer,    
00190 
00191         class Layer *pParent    
00192 
00193         );
00194 
00195     
00196 
00198 
00199     virtual class Layer *BaseLayer( void ) const;
00200 
00201 
00202 
00204 
00205     virtual void Serialize(
00206 
00207         Stream &s       
00208 
00209         );
00210 
00211 };
00212 
00213 
00214 
00216 
00218 
00220 
00222 
00224 
00226 
00228 
00230 
00232 
00234 
00236 
00238 
00240 
00241 class MBDLL_DECL LayerMeshData : public TreeNode
00242 
00243 {
00244 
00245     DECLARE_CLASS;
00246 
00247 public:
00248 
00250 
00251     virtual void SetName(
00252 
00253         const QString &sName        
00254 
00255         );
00256 
00257 
00258 
00260 
00261     virtual QString Name( void ) const;
00262 
00263     
00264 
00266 
00267     virtual bool Visible() const;
00268 
00269 
00270 
00272 
00273     virtual void SetVisible( bool bVisible );
00274 
00275 
00276 
00278 
00279     virtual mudbox::Mesh* Mesh() const;
00280 
00281 
00282 
00284 
00285     virtual void SetTransparency(
00286 
00287         float fTransparency     
00288 
00289         );
00290 
00291 
00292 
00294 
00295     virtual float Transparency( void ) const;
00296 
00297 
00298 
00300 
00302 
00304 
00306 
00308 
00310 
00312 
00313     virtual unsigned int LayerVertexIndex (
00314 
00315         unsigned int iVertexIndex,  
00316 
00317         bool bCreate = true     
00318 
00319         );
00320 
00321     
00322 
00324 
00326 
00328 
00330 
00332 
00333     virtual void SetVertexCount(
00334 
00335         unsigned int iVertexCount   
00336 
00337         );
00338 
00339     
00340 
00342 
00344 
00345     virtual unsigned int VertexCount() const;
00346 
00347 
00348 
00350 
00352 
00353     virtual unsigned int MeshVertexIndex( 
00354 
00355         unsigned int iLayerVertexIndex  
00356 
00357         ) const;
00358 
00359 
00360 
00362 
00363     virtual void SetVertexData( 
00364 
00365         unsigned int iVertexLayerIndex, 
00366 
00367         unsigned int iGlobalVertexIndex, 
00368 
00369         float fMask  
00370 
00371         );
00372 
00373         
00374 
00376 
00377     virtual Vector SetVertexDelta( 
00378 
00379         unsigned int iVertexLayerIndex, 
00380 
00381         unsigned int iGlobalVertexIndex, 
00382 
00383         const Vector &vDelta, 
00384 
00385         bool bUpdate = true 
00386 
00387     );
00388 
00389         
00390 
00392 
00393     virtual void SetVertexMask(
00394 
00395         unsigned int iVertexLayerIndex, 
00396 
00397         float fMask                     
00398 
00399         );
00400 
00401         
00402 
00404 
00405     virtual float VertexMask(
00406 
00407         unsigned int iVertexLayerIndex 
00408 
00409         );
00410 
00411         
00412 
00414 
00415     virtual Vector VertexDelta(
00416 
00417         unsigned int iVertexLayerIndex 
00418 
00419         );
00420 
00421 
00422 
00424 
00426 
00428 
00430 
00431     virtual bool FinishChanges();
00432 
00433 };
00434 
00435 
00436 
00437 }; // end of namespace mudbox
00438