mudbox::SubdivisionLevel Class Reference

#include <subdivision.h>

Inheritance diagram for mudbox::SubdivisionLevel:

Inheritance graph
[legend]
List of all members.

Detailed Description

Represents one level of subdivision details in a geometry.

Public Member Functions

virtual const mudbox::ClassDesc *  RuntimeClass (void) const
virtual class Geometry *  Geometry (void) const
  Returns the geometry that this mesh belongs to.
virtual SubdivisionLevel *  NextLevel (void)
  Returns the next (one detail higher) level.
virtual SubdivisionLevel *  PrevLevel (void)
  Returns the previous (one detail lower) level.
virtual unsigned int  Index (void) const
  Returns the index in the level list of the geometry.
virtual unsigned int  TotalFaceCount (void) const
  Returns the maximum reachable face count on the level. Equals to the total face count of the previous level * 4.
virtual SubdivisionLevel *  Subdivide (bool bProcessUV=true)
  Subdivides the level to a higher detail.
virtual void  CopyTo (SubdivisionLevel *pDestination) const
  Copy the content of this SubdivisionLevel to another one.
virtual void  ApplyChanges (void)
  Updates the previous level with all the changes on the current level.
virtual void  RecreateUVs (bool bForced=false)
  Creates the UV layout if not exists or recreates if forced.
virtual void  CheckMeshGrid (unsigned int iBaseFaceIndex, unsigned int iLevel) const
virtual void  ConvertToRelative ()
virtual void  ConvertToAbsolute ()

Static Public Member Functions

const mudbox::ClassDesc *  StaticClass (void)
mudbox::Node *  CreateInstances (unsigned int iCount=1)
void  SetUVCreation (bool bCreateUV)
const Store< unsigned int > &  QuadIndexTable (unsigned int iLevel)
const Store< unsigned int > &  QuadVertexIndexTable (unsigned int iLevel)
const Store< unsigned int > &  InvertedQuadIndexTable (unsigned int iLevel)

Protected Member Functions

  SubdivisionLevel (FaceType eFaceType=typeQuadric)
  Do not use constructors directly. Use CreateInstances() instead.

Constructor & Destructor Documentation

mudbox::SubdivisionLevel::SubdivisionLevel (  FaceType  eFaceType = typeQuadric  )  [protected]
 

Do not use constructors directly. Use CreateInstances() instead.


Member Function Documentation

virtual const mudbox::ClassDesc* mudbox::SubdivisionLevel::RuntimeClass (  void   )  const [inline, virtual]
 

Reimplemented from mudbox::Mesh.

00025 :
const mudbox::ClassDesc* mudbox::SubdivisionLevel::StaticClass (  void   )  [static]
 

Reimplemented from mudbox::Mesh.

mudbox::Node* mudbox::SubdivisionLevel::CreateInstances (  unsigned int  iCount = 1  )  [static]
 

Reimplemented from mudbox::Mesh.

virtual class Geometry* mudbox::SubdivisionLevel::Geometry (  void   )  const [virtual]
 

Returns the geometry that this mesh belongs to.

Reimplemented from mudbox::Mesh.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::NextLevel (  void   )  [virtual]
 

Returns the next (one detail higher) level.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::PrevLevel (  void   )  [virtual]
 

Returns the previous (one detail lower) level.

virtual unsigned int mudbox::SubdivisionLevel::Index (  void   )  const [virtual]
 

Returns the index in the level list of the geometry.

virtual unsigned int mudbox::SubdivisionLevel::TotalFaceCount (  void   )  const [virtual]
 

Returns the maximum reachable face count on the level. Equals to the total face count of the previous level * 4.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::Subdivide (  bool  bProcessUV = true  )  [virtual]
 

Subdivides the level to a higher detail.

virtual void mudbox::SubdivisionLevel::CopyTo (  SubdivisionLevel *  pDestination  )  const [virtual]
 

Copy the content of this SubdivisionLevel to another one.

virtual void mudbox::SubdivisionLevel::ApplyChanges (  void   )  [virtual]
 

Updates the previous level with all the changes on the current level.

virtual void mudbox::SubdivisionLevel::RecreateUVs (  bool  bForced = false  )  [virtual]
 

Creates the UV layout if not exists or recreates if forced.

The calculation is based on the uv layout of the previous level; if it does not exist it will be created recursively down to level0. If level 0 has no UV the funcion does nothing.

void mudbox::SubdivisionLevel::SetUVCreation (  bool  bCreateUV  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::QuadIndexTable (  unsigned int  iLevel  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::QuadVertexIndexTable (  unsigned int  iLevel  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::InvertedQuadIndexTable (  unsigned int  iLevel  )  [static]
 
virtual void mudbox::SubdivisionLevel::CheckMeshGrid (  unsigned int  iBaseFaceIndex,
unsigned int  iLevel
)  const [virtual]
 
virtual void mudbox::SubdivisionLevel::ConvertToRelative (   )  [virtual]
 
virtual void mudbox::SubdivisionLevel::ConvertToAbsolute (   )  [virtual]
 

mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel
mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel