SubdivisionLevel Class Reference

This reference page is linked to from the following overview topics: Scene Graph, Mesh and Topology, Subdivision.



Detailed Description

Represents one level of subdivision details in a geometry.

Definition at line 18 of file subdivision.h.

#include <subdivision.h>

Inheritance diagram for SubdivisionLevel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

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, bool bSmoothPositions=true, bool bSmoothUV=false)
  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 (bool bToLowerLevel=true)
  Updates the higher/lower 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

static void  SetUVCreation (bool bCreateUV)
static const Store< unsigned
int > & 
QuadIndexTable (unsigned int iLevel)
static const Store< unsigned
int > & 
QuadVertexIndexTable (unsigned int iLevel)
static 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

SubdivisionLevel ( FaceType  eFaceType = typeQuadric ) [protected]

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


Member Function Documentation

virtual class Geometry* Geometry ( void  ) const [virtual]

Returns the geometry that this mesh belongs to.

Reimplemented from Mesh.

virtual SubdivisionLevel* NextLevel ( void  ) [virtual]

Returns the next (one detail higher) level.

virtual SubdivisionLevel* PrevLevel ( void  ) [virtual]

Returns the previous (one detail lower) level.

virtual unsigned int Index ( void  ) const [virtual]

Returns the index in the level list of the geometry.

virtual unsigned int 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* Subdivide ( bool  bProcessUV = true,
bool  bSmoothPositions = true,
bool  bSmoothUV = false 
) [virtual]

Subdivides the level to a higher detail.

virtual void CopyTo ( SubdivisionLevel pDestination ) const [virtual]

Copy the content of this SubdivisionLevel to another one.

virtual void ApplyChanges ( bool  bToLowerLevel = true ) [virtual]

Updates the higher/lower level with all the changes on the current level.

virtual void 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.

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

The documentation for this class was generated from the following file:

SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel
SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel SubdivisionLevel