OpenSubdiv
Loading...
Searching...
No Matches
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.
 
 ~TopologyRefiner ()
 Destructor.
 
Sdc::SchemeType GetSchemeType () const
 Returns the subdivision scheme.
 
Sdc::Options GetSchemeOptions () const
 Returns the subdivision options.
 
bool IsUniform () const
 Returns true if uniform refinement has been applied.
 
int GetNumLevels () const
 Returns the number of refinement levels.
 
int GetMaxLevel () const
 Returns the highest level of refinement.
 
int GetMaxValence () const
 Returns the maximum vertex valence in all levels.
 
bool HasHoles () const
 Returns true if faces have been tagged as holes.
 
int GetNumVerticesTotal () const
 Returns the total number of vertices in all levels.
 
int GetNumEdgesTotal () const
 Returns the total number of edges in all levels.
 
int GetNumFacesTotal () const
 Returns the total number of edges in all levels.
 
int GetNumFaceVerticesTotal () const
 Returns the total number of face vertices in all levels.
 
TopologyLevel const & GetLevel (int level) const
 Returns a handle to access data specific to a particular level.
 
High-level refinement and related methods
void RefineUniform (UniformOptions options)
 Refine the topology uniformly.
 
UniformOptions GetUniformOptions () const
 Returns the options specified on refinement.
 
void RefineAdaptive (AdaptiveOptions options, ConstIndexArray selectedFaces=ConstIndexArray())
 Feature Adaptive topology refinement.
 
AdaptiveOptions GetAdaptiveOptions () const
 Returns the options specified on refinement.
 
void Unrefine ()
 Unrefine the topology, keeping only the base level.
 

Number and properties of face-varying channels:

template<class MESH >
class TopologyRefinerFactory
 
class TopologyRefinerFactoryBase
 
class PatchTableBuilder
 
class PatchBuilder
 
class PtexIndices
 
template<typename REAL >
class PrimvarRefinerReal
 
int GetNumFVarChannels () const
 Returns the number of face-varying channels in the tables.
 
Sdc::Options::FVarLinearInterpolation GetFVarLinearInterpolation (int channel=0) const
 Returns the face-varying interpolation rule set for a given channel.
 
int GetNumFVarValuesTotal (int channel=0) const
 Returns the total number of face-varying values in all levels.
 
Vtr::internal::Level & getLevel (int l)
 
Vtr::internal::Level const & getLevel (int l) const
 
Vtr::internal::Refinement & getRefinement (int l)
 
Vtr::internal::Refinement const & getRefinement (int l) const
 
 TopologyRefiner (TopologyRefiner const &source)
 

Detailed Description

Stores topology data for a specified set of refinement options.

Definition at line 51 of file topologyRefiner.h.

Constructor & Destructor Documentation

◆ TopologyRefiner() [1/2]

Constructor.

◆ ~TopologyRefiner()

Destructor.

◆ TopologyRefiner() [2/2]

TopologyRefiner ( TopologyRefiner const &  source)
protected

Member Function Documentation

◆ GetAdaptiveOptions()

AdaptiveOptions GetAdaptiveOptions ( ) const
inline

Returns the options specified on refinement.

Definition at line 196 of file topologyRefiner.h.

◆ GetFVarLinearInterpolation()

Sdc::Options::FVarLinearInterpolation GetFVarLinearInterpolation ( int  channel = 0) const
inline

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

Definition at line 298 of file topologyRefiner.h.

◆ getLevel() [1/2]

Vtr::internal::Level & getLevel ( int  l)
inline

Definition at line 236 of file topologyRefiner.h.

◆ getLevel() [2/2]

Vtr::internal::Level const & getLevel ( int  l) const
inline

Definition at line 237 of file topologyRefiner.h.

◆ GetLevel()

TopologyLevel const & GetLevel ( int  level) const
inline

Returns a handle to access data specific to a particular level.

Definition at line 95 of file topologyRefiner.h.

◆ GetMaxLevel()

int GetMaxLevel ( ) const
inline

Returns the highest level of refinement.

Definition at line 74 of file topologyRefiner.h.

◆ GetMaxValence()

int GetMaxValence ( ) const
inline

Returns the maximum vertex valence in all levels.

Definition at line 77 of file topologyRefiner.h.

◆ GetNumEdgesTotal()

int GetNumEdgesTotal ( ) const
inline

Returns the total number of edges in all levels.

Definition at line 86 of file topologyRefiner.h.

◆ GetNumFacesTotal()

int GetNumFacesTotal ( ) const
inline

Returns the total number of edges in all levels.

Definition at line 89 of file topologyRefiner.h.

◆ GetNumFaceVerticesTotal()

int GetNumFaceVerticesTotal ( ) const
inline

Returns the total number of face vertices in all levels.

Definition at line 92 of file topologyRefiner.h.

◆ GetNumFVarChannels()

int GetNumFVarChannels ( ) const
inline

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

Definition at line 293 of file topologyRefiner.h.

◆ GetNumFVarValuesTotal()

int GetNumFVarValuesTotal ( int  channel = 0) const

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

◆ GetNumLevels()

int GetNumLevels ( ) const
inline

Returns the number of refinement levels.

Definition at line 71 of file topologyRefiner.h.

◆ GetNumVerticesTotal()

int GetNumVerticesTotal ( ) const
inline

Returns the total number of vertices in all levels.

Definition at line 83 of file topologyRefiner.h.

◆ getRefinement() [1/2]

Vtr::internal::Refinement & getRefinement ( int  l)
inline

Definition at line 239 of file topologyRefiner.h.

◆ getRefinement() [2/2]

Vtr::internal::Refinement const & getRefinement ( int  l) const
inline

Definition at line 240 of file topologyRefiner.h.

◆ GetSchemeOptions()

Sdc::Options GetSchemeOptions ( ) const
inline

Returns the subdivision options.

Definition at line 65 of file topologyRefiner.h.

◆ GetSchemeType()

Sdc::SchemeType GetSchemeType ( ) const
inline

Returns the subdivision scheme.

Definition at line 62 of file topologyRefiner.h.

◆ GetUniformOptions()

UniformOptions GetUniformOptions ( ) const
inline

Returns the options specified on refinement.

Definition at line 149 of file topologyRefiner.h.

◆ HasHoles()

bool HasHoles ( ) const
inline

Returns true if faces have been tagged as holes.

Definition at line 80 of file topologyRefiner.h.

◆ IsUniform()

bool IsUniform ( ) const
inline

Returns true if uniform refinement has been applied.

Definition at line 68 of file topologyRefiner.h.

◆ RefineAdaptive()

void RefineAdaptive ( AdaptiveOptions  options,
ConstIndexArray  selectedFaces = ConstIndexArray() 
)

Feature Adaptive topology refinement.

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

◆ RefineUniform()

void 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

◆ Unrefine()

void Unrefine ( )

Unrefine the topology, keeping only the base level.

Friends And Related Function Documentation

◆ PatchBuilder

friend class PatchBuilder
friend

Definition at line 226 of file topologyRefiner.h.

◆ PatchTableBuilder

friend class PatchTableBuilder
friend

Definition at line 225 of file topologyRefiner.h.

◆ PrimvarRefinerReal

friend class PrimvarRefinerReal
friend

Definition at line 229 of file topologyRefiner.h.

◆ PtexIndices

friend class PtexIndices
friend

Definition at line 227 of file topologyRefiner.h.

◆ TopologyRefinerFactory

friend class TopologyRefinerFactory
friend

Definition at line 223 of file topologyRefiner.h.

◆ TopologyRefinerFactoryBase

friend class TopologyRefinerFactoryBase
friend

Definition at line 224 of file topologyRefiner.h.


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