3DCoat  3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
OpenSubdiv::v3_4_3::Far::TopologyRefiner Class Reference

Stores topology data for a specified set of refinement options. More...

#include <topologyRefiner.h>

Classes

struct  AdaptiveOptions
 Adaptive refinement options. More...
 
struct  UniformOptions
 Uniform refinement options. More...
 

Public Member Functions

 TopologyRefiner (Sdc::SchemeType type, Sdc::Options options=Sdc::Options())
 Constructor. More...
 
 ~TopologyRefiner ()
 Destructor. More...
 
Sdc::SchemeType GetSchemeType () const
 Returns the subdivision scheme. More...
 
Sdc::Options GetSchemeOptions () const
 Returns the subdivision options. More...
 
bool IsUniform () const
 Returns true if uniform refinement has been applied. More...
 
int GetNumLevels () const
 Returns the number of refinement levels. More...
 
int GetMaxLevel () const
 Returns the highest level of refinement. More...
 
int GetMaxValence () const
 Returns the maximum vertex valence in all levels. More...
 
bool HasHoles () const
 Returns true if faces have been tagged as holes. More...
 
int GetNumVerticesTotal () const
 Returns the total number of vertices in all levels. More...
 
int GetNumEdgesTotal () const
 Returns the total number of edges in all levels. More...
 
int GetNumFacesTotal () const
 Returns the total number of edges in all levels. More...
 
int GetNumFaceVerticesTotal () const
 Returns the total number of face vertices in all levels. More...
 
TopologyLevel const & GetLevel (int level) const
 Returns a handle to access data specific to a particular level. More...
 
High-level refinement and related methods
void RefineUniform (UniformOptions options)
 Refine the topology uniformly. More...
 
UniformOptions GetUniformOptions () const
 Returns the options specified on refinement. More...
 
void RefineAdaptive (AdaptiveOptions options, ConstIndexArray selectedFaces=ConstIndexArray())
 Feature Adaptive topology refinement. More...
 
AdaptiveOptions GetAdaptiveOptions () const
 Returns the options specified on refinement. More...
 
void Unrefine ()
 Unrefine the topology, keeping only the base level. More...
 
Number and properties of face-varying channels:
int GetNumFVarChannels () const
 Returns the number of face-varying channels in the tables. More...
 
Sdc::Options::FVarLinearInterpolation GetFVarLinearInterpolation (int channel=0) const
 Returns the face-varying interpolation rule set for a given channel. More...
 
int GetNumFVarValuesTotal (int channel=0) const
 Returns the total number of face-varying values in all levels. More...
 

Detailed Description

Stores topology data for a specified set of refinement options.

Constructor & Destructor Documentation

OpenSubdiv::v3_4_3::Far::TopologyRefiner::TopologyRefiner ( Sdc::SchemeType  type,
Sdc::Options  options = Sdc::Options() 
)

Constructor.

OpenSubdiv::v3_4_3::Far::TopologyRefiner::~TopologyRefiner ( )

Destructor.

Member Function Documentation

AdaptiveOptions OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetAdaptiveOptions ( ) const
inline

Returns the options specified on refinement.

Referenced by OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::Create().

Sdc::Options::FVarLinearInterpolation OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetFVarLinearInterpolation ( int  channel = 0) const
inline

Returns the face-varying interpolation rule set for a given channel.

TopologyLevel const& OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetLevel ( int  level) const
inline
int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetMaxLevel ( ) const
inline
int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetMaxValence ( ) const
inline

Returns the maximum vertex valence in all levels.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumEdgesTotal ( ) const
inline

Returns the total number of edges in all levels.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumFacesTotal ( ) const
inline

Returns the total number of edges in all levels.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumFaceVerticesTotal ( ) const
inline

Returns the total number of face vertices in all levels.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumFVarChannels ( ) const
inline

Returns the number of face-varying channels in the tables.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumFVarValuesTotal ( int  channel = 0) const

Returns the total number of face-varying values in all levels.

Referenced by OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::Create().

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumLevels ( ) const
inline

Returns the number of refinement levels.

int OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumVerticesTotal ( ) const
inline

Returns the total number of vertices in all levels.

Referenced by OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::Create().

Sdc::Options OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetSchemeOptions ( ) const
inline

Returns the subdivision options.

Sdc::SchemeType OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetSchemeType ( ) const
inline

Returns the subdivision scheme.

Referenced by OpenSubdiv::v3_4_3::Far::PtexIndices::GetAdjacency().

UniformOptions OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetUniformOptions ( ) const
inline

Returns the options specified on refinement.

bool OpenSubdiv::v3_4_3::Far::TopologyRefiner::HasHoles ( ) const
inline

Returns true if faces have been tagged as holes.

bool OpenSubdiv::v3_4_3::Far::TopologyRefiner::IsUniform ( ) const
inline

Returns true if uniform refinement has been applied.

Referenced by OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::Create().

void OpenSubdiv::v3_4_3::Far::TopologyRefiner::RefineAdaptive ( AdaptiveOptions  options,
ConstIndexArray  selectedFaces = ConstIndexArray() 
)

Feature Adaptive topology refinement.

Parameters
optionsOptions controlling adaptive refinement
selectedFacesLimit adaptive refinement to the specified faces

References OpenSubdiv::v3_4_3::Far::TopologyRefiner::AdaptiveOptions::isolationLevel, OpenSubdiv::v3_4_3::Far::TopologyRefiner::AdaptiveOptions::orderVerticesFromFacesFirst, and OpenSubdiv::v3_4_3::Far::TopologyRefiner::AdaptiveOptions::secondaryLevel.

void OpenSubdiv::v3_4_3::Far::TopologyRefiner::RefineUniform ( UniformOptions  options)

Refine the topology uniformly.

This method applies uniform refinement to the level specified in the given UniformOptions.

Note the impact of the UniformOption to generate fullTopologyInLastLevel and be sure it is assigned to satisfy the needs of the resulting refinement.

Parameters
optionsOptions controlling uniform refinement

References OpenSubdiv::v3_4_3::Far::TopologyRefiner::UniformOptions::fullTopologyInLastLevel, OpenSubdiv::v3_4_3::Far::TopologyRefiner::UniformOptions::orderVerticesFromFacesFirst, and OpenSubdiv::v3_4_3::Far::TopologyRefiner::UniformOptions::refinementLevel.

void OpenSubdiv::v3_4_3::Far::TopologyRefiner::Unrefine ( )

Unrefine the topology, keeping only the base level.


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