All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Refinement Class Referenceabstract

#include <refinement.h>

Classes

struct  ChildTag
 
struct  Options
 
struct  Relations
 
struct  SparseTag
 

Public Member Functions

 Refinement (Level const &parent, Level &child, Sdc::Options const &schemeOptions)
 
virtual ~Refinement ()
 
Level const & parent () const
 
Level const & child () const
 
Levelchild ()
 
Sdc::Split getSplitType () const
 
int getRegularFaceSize () const
 
Sdc::Options getOptions () const
 
int getNumFVarChannels () const
 
FVarRefinement const & getFVarRefinement (int c) const
 
void refine (Options options=Options())
 
bool hasFaceVerticesFirst () const
 
int getNumChildFacesFromFaces () const
 
int getNumChildEdgesFromFaces () const
 
int getNumChildEdgesFromEdges () const
 
int getNumChildVerticesFromFaces () const
 
int getNumChildVerticesFromEdges () const
 
int getNumChildVerticesFromVertices () const
 
Index getFirstChildFaceFromFaces () const
 
Index getFirstChildEdgeFromFaces () const
 
Index getFirstChildEdgeFromEdges () const
 
Index getFirstChildVertexFromFaces () const
 
Index getFirstChildVertexFromEdges () const
 
Index getFirstChildVertexFromVertices () const
 
Index getFaceChildVertex (Index f) const
 
Index getEdgeChildVertex (Index e) const
 
Index getVertexChildVertex (Index v) const
 
ConstIndexArray getFaceChildFaces (Index parentFace) const
 
ConstIndexArray getFaceChildEdges (Index parentFace) const
 
ConstIndexArray getEdgeChildEdges (Index parentEdge) const
 
bool isChildVertexComplete (Index v) const
 
Index getChildFaceParentFace (Index f) const
 
int getChildFaceInParentFace (Index f) const
 
Index getChildEdgeParentIndex (Index e) const
 
Index getChildVertexParentIndex (Index v) const
 
IndexArray getFaceChildFaces (Index parentFace)
 
IndexArray getFaceChildEdges (Index parentFace)
 
IndexArray getEdgeChildEdges (Index parentEdge)
 
SparseTag const & getParentFaceSparseTag (Index f) const
 
SparseTag const & getParentEdgeSparseTag (Index e) const
 
SparseTag const & getParentVertexSparseTag (Index v) const
 
SparseTaggetParentFaceSparseTag (Index f)
 
SparseTaggetParentEdgeSparseTag (Index e)
 
SparseTaggetParentVertexSparseTag (Index v)
 
ChildTag const & getChildFaceTag (Index f) const
 
ChildTag const & getChildEdgeTag (Index e) const
 
ChildTag const & getChildVertexTag (Index v) const
 
ChildTaggetChildFaceTag (Index f)
 
ChildTaggetChildEdgeTag (Index e)
 
ChildTaggetChildVertexTag (Index v)
 
void populateParentToChildMapping ()
 
void populateParentChildIndices ()
 
void printParentToChildMapping () const
 
virtual void allocateParentChildIndices ()=0
 
void initializeSparseSelectionTags ()
 
void markSparseChildComponentIndices ()
 
void markSparseVertexChildren ()
 
void markSparseEdgeChildren ()
 
virtual void markSparseFaceChildren ()=0
 
void initializeChildComponentCounts ()
 
void populateChildToParentMapping ()
 
void populateFaceParentVectors (ChildTag const initialChildTags[2][4])
 
void populateFaceParentFromParentFaces (ChildTag const initialChildTags[2][4])
 
void populateEdgeParentVectors (ChildTag const initialChildTags[2][4])
 
void populateEdgeParentFromParentFaces (ChildTag const initialChildTags[2][4])
 
void populateEdgeParentFromParentEdges (ChildTag const initialChildTags[2][4])
 
void populateVertexParentVectors (ChildTag const initialChildTags[2][4])
 
void populateVertexParentFromParentFaces (ChildTag const initialChildTags[2][4])
 
void populateVertexParentFromParentEdges (ChildTag const initialChildTags[2][4])
 
void populateVertexParentFromParentVertices (ChildTag const initialChildTags[2][4])
 
void propagateComponentTags ()
 
void populateFaceTagVectors ()
 
void populateFaceTagsFromParentFaces ()
 
void populateEdgeTagVectors ()
 
void populateEdgeTagsFromParentFaces ()
 
void populateEdgeTagsFromParentEdges ()
 
void populateVertexTagVectors ()
 
void populateVertexTagsFromParentFaces ()
 
void populateVertexTagsFromParentEdges ()
 
void populateVertexTagsFromParentVertices ()
 
void subdivideTopology (Relations const &relationsToSubdivide)
 
virtual void populateFaceVertexRelation ()=0
 
virtual void populateFaceEdgeRelation ()=0
 
virtual void populateEdgeVertexRelation ()=0
 
virtual void populateEdgeFaceRelation ()=0
 
virtual void populateVertexFaceRelation ()=0
 
virtual void populateVertexEdgeRelation ()=0
 
void subdivideSharpnessValues ()
 
void subdivideVertexSharpness ()
 
void subdivideEdgeSharpness ()
 
void reclassifySemisharpVertices ()
 
void subdivideFVarChannels ()
 

Protected Attributes

Level const * _parent
 
Level_child
 
Sdc::Options _options
 
Sdc::Split _splitType
 
int _regFaceSize
 
bool _uniform
 
bool _faceVertsFirst
 
int _childFaceFromFaceCount
 
int _childEdgeFromFaceCount
 
int _childEdgeFromEdgeCount
 
int _childVertFromFaceCount
 
int _childVertFromEdgeCount
 
int _childVertFromVertCount
 
int _firstChildFaceFromFace
 
int _firstChildEdgeFromFace
 
int _firstChildEdgeFromEdge
 
int _firstChildVertFromFace
 
int _firstChildVertFromEdge
 
int _firstChildVertFromVert
 
IndexArray _faceChildFaceCountsAndOffsets
 
IndexArray _faceChildEdgeCountsAndOffsets
 
IndexVector _faceChildFaceIndices
 
IndexVector _faceChildEdgeIndices
 
IndexVector _faceChildVertIndex
 
IndexVector _edgeChildEdgeIndices
 
IndexVector _edgeChildVertIndex
 
IndexVector _vertChildVertIndex
 
IndexVector _childFaceParentIndex
 
IndexVector _childEdgeParentIndex
 
IndexVector _childVertexParentIndex
 
std::vector< ChildTag_childFaceTag
 
std::vector< ChildTag_childEdgeTag
 
std::vector< ChildTag_childVertexTag
 
std::vector< SparseTag_parentFaceTag
 
std::vector< SparseTag_parentEdgeTag
 
std::vector< SparseTag_parentVertexTag
 
std::vector< FVarRefinement * > _fvarChannels
 

Friends

void Level::print (const Refinement *) const
 

Detailed Description

Definition at line 69 of file refinement.h.

Constructor & Destructor Documentation

Refinement ( Level const &  parent,
Level child,
Sdc::Options const &  schemeOptions 
)
virtual ~Refinement ( )
virtual

Member Function Documentation

virtual void allocateParentChildIndices ( )
pure virtual
Level const& child ( ) const
inline

Definition at line 76 of file refinement.h.

Level& child ( )
inline

Definition at line 77 of file refinement.h.

Index getChildEdgeParentIndex ( Index  e) const
inline

Definition at line 158 of file refinement.h.

ChildTag const& getChildEdgeTag ( Index  e) const
inline

Definition at line 214 of file refinement.h.

ChildTag& getChildEdgeTag ( Index  e)
inline

Definition at line 218 of file refinement.h.

int getChildFaceInParentFace ( Index  f) const
inline

Definition at line 156 of file refinement.h.

Index getChildFaceParentFace ( Index  f) const
inline

Definition at line 155 of file refinement.h.

ChildTag const& getChildFaceTag ( Index  f) const
inline

Definition at line 213 of file refinement.h.

ChildTag& getChildFaceTag ( Index  f)
inline

Definition at line 217 of file refinement.h.

Index getChildVertexParentIndex ( Index  v) const
inline

Definition at line 160 of file refinement.h.

ChildTag const& getChildVertexTag ( Index  v) const
inline

Definition at line 215 of file refinement.h.

ChildTag& getChildVertexTag ( Index  v)
inline

Definition at line 219 of file refinement.h.

ConstIndexArray getEdgeChildEdges ( Index  parentEdge) const
inline

Definition at line 438 of file refinement.h.

IndexArray getEdgeChildEdges ( Index  parentEdge)
inline

Definition at line 444 of file refinement.h.

Index getEdgeChildVertex ( Index  e) const
inline

Definition at line 145 of file refinement.h.

ConstIndexArray getFaceChildEdges ( Index  parentFace) const
inline

Definition at line 425 of file refinement.h.

IndexArray getFaceChildEdges ( Index  parentFace)
inline

Definition at line 431 of file refinement.h.

ConstIndexArray getFaceChildFaces ( Index  parentFace) const
inline

Definition at line 411 of file refinement.h.

IndexArray getFaceChildFaces ( Index  parentFace)
inline

Definition at line 418 of file refinement.h.

Index getFaceChildVertex ( Index  f) const
inline

Definition at line 144 of file refinement.h.

Index getFirstChildEdgeFromEdges ( ) const
inline

Definition at line 139 of file refinement.h.

Index getFirstChildEdgeFromFaces ( ) const
inline

Definition at line 138 of file refinement.h.

Index getFirstChildFaceFromFaces ( ) const
inline

Definition at line 137 of file refinement.h.

Index getFirstChildVertexFromEdges ( ) const
inline

Definition at line 141 of file refinement.h.

Index getFirstChildVertexFromFaces ( ) const
inline

Definition at line 140 of file refinement.h.

Index getFirstChildVertexFromVertices ( ) const
inline

Definition at line 142 of file refinement.h.

FVarRefinement const& getFVarRefinement ( int  c) const
inline

Definition at line 86 of file refinement.h.

int getNumChildEdgesFromEdges ( ) const
inline

Definition at line 132 of file refinement.h.

int getNumChildEdgesFromFaces ( ) const
inline

Definition at line 131 of file refinement.h.

int getNumChildFacesFromFaces ( ) const
inline

Definition at line 130 of file refinement.h.

int getNumChildVerticesFromEdges ( ) const
inline

Definition at line 134 of file refinement.h.

int getNumChildVerticesFromFaces ( ) const
inline

Definition at line 133 of file refinement.h.

int getNumChildVerticesFromVertices ( ) const
inline

Definition at line 135 of file refinement.h.

int getNumFVarChannels ( ) const
inline

Definition at line 84 of file refinement.h.

Sdc::Options getOptions ( ) const
inline

Definition at line 81 of file refinement.h.

SparseTag const& getParentEdgeSparseTag ( Index  e) const
inline

Definition at line 206 of file refinement.h.

SparseTag& getParentEdgeSparseTag ( Index  e)
inline

Definition at line 210 of file refinement.h.

SparseTag const& getParentFaceSparseTag ( Index  f) const
inline

Definition at line 205 of file refinement.h.

SparseTag& getParentFaceSparseTag ( Index  f)
inline

Definition at line 209 of file refinement.h.

SparseTag const& getParentVertexSparseTag ( Index  v) const
inline

Definition at line 207 of file refinement.h.

SparseTag& getParentVertexSparseTag ( Index  v)
inline

Definition at line 211 of file refinement.h.

int getRegularFaceSize ( ) const
inline

Definition at line 80 of file refinement.h.

Sdc::Split getSplitType ( ) const
inline

Definition at line 79 of file refinement.h.

Index getVertexChildVertex ( Index  v) const
inline

Definition at line 146 of file refinement.h.

bool hasFaceVerticesFirst ( ) const
inline

Definition at line 123 of file refinement.h.

void initializeChildComponentCounts ( )
void initializeSparseSelectionTags ( )
bool isChildVertexComplete ( Index  v) const
inline

Definition at line 153 of file refinement.h.

void markSparseChildComponentIndices ( )
void markSparseEdgeChildren ( )
virtual void markSparseFaceChildren ( )
pure virtual
void markSparseVertexChildren ( )
Level const& parent ( ) const
inline

Definition at line 75 of file refinement.h.

void populateChildToParentMapping ( )
virtual void populateEdgeFaceRelation ( )
pure virtual
void populateEdgeParentFromParentEdges ( ChildTag const  initialChildTags[2][4])
void populateEdgeParentFromParentFaces ( ChildTag const  initialChildTags[2][4])
void populateEdgeParentVectors ( ChildTag const  initialChildTags[2][4])
void populateEdgeTagsFromParentEdges ( )
void populateEdgeTagsFromParentFaces ( )
void populateEdgeTagVectors ( )
virtual void populateEdgeVertexRelation ( )
pure virtual
virtual void populateFaceEdgeRelation ( )
pure virtual
void populateFaceParentFromParentFaces ( ChildTag const  initialChildTags[2][4])
void populateFaceParentVectors ( ChildTag const  initialChildTags[2][4])
void populateFaceTagsFromParentFaces ( )
void populateFaceTagVectors ( )
virtual void populateFaceVertexRelation ( )
pure virtual
void populateParentChildIndices ( )
void populateParentToChildMapping ( )
virtual void populateVertexEdgeRelation ( )
pure virtual
virtual void populateVertexFaceRelation ( )
pure virtual
void populateVertexParentFromParentEdges ( ChildTag const  initialChildTags[2][4])
void populateVertexParentFromParentFaces ( ChildTag const  initialChildTags[2][4])
void populateVertexParentFromParentVertices ( ChildTag const  initialChildTags[2][4])
void populateVertexParentVectors ( ChildTag const  initialChildTags[2][4])
void populateVertexTagsFromParentEdges ( )
void populateVertexTagsFromParentFaces ( )
void populateVertexTagsFromParentVertices ( )
void populateVertexTagVectors ( )
void printParentToChildMapping ( ) const
void propagateComponentTags ( )
void reclassifySemisharpVertices ( )
void refine ( Options  options = Options())
void subdivideEdgeSharpness ( )
void subdivideFVarChannels ( )
void subdivideSharpnessValues ( )
void subdivideTopology ( Relations const &  relationsToSubdivide)
void subdivideVertexSharpness ( )

Friends And Related Function Documentation

void Level::print ( const Refinement ) const
friend

Member Data Documentation

Level* _child
protected

Definition at line 333 of file refinement.h.

int _childEdgeFromEdgeCount
protected

Definition at line 349 of file refinement.h.

int _childEdgeFromFaceCount
protected

Definition at line 348 of file refinement.h.

IndexVector _childEdgeParentIndex
protected

Definition at line 390 of file refinement.h.

std::vector<ChildTag> _childEdgeTag
protected

Definition at line 394 of file refinement.h.

int _childFaceFromFaceCount
protected

Definition at line 347 of file refinement.h.

IndexVector _childFaceParentIndex
protected

Definition at line 389 of file refinement.h.

std::vector<ChildTag> _childFaceTag
protected

Definition at line 393 of file refinement.h.

IndexVector _childVertexParentIndex
protected

Definition at line 391 of file refinement.h.

std::vector<ChildTag> _childVertexTag
protected

Definition at line 395 of file refinement.h.

int _childVertFromEdgeCount
protected

Definition at line 351 of file refinement.h.

int _childVertFromFaceCount
protected

Definition at line 350 of file refinement.h.

int _childVertFromVertCount
protected

Definition at line 352 of file refinement.h.

IndexVector _edgeChildEdgeIndices
protected

Definition at line 381 of file refinement.h.

IndexVector _edgeChildVertIndex
protected

Definition at line 382 of file refinement.h.

IndexArray _faceChildEdgeCountsAndOffsets
protected

Definition at line 375 of file refinement.h.

IndexVector _faceChildEdgeIndices
protected

Definition at line 378 of file refinement.h.

IndexArray _faceChildFaceCountsAndOffsets
protected

Definition at line 374 of file refinement.h.

IndexVector _faceChildFaceIndices
protected

Definition at line 377 of file refinement.h.

IndexVector _faceChildVertIndex
protected

Definition at line 379 of file refinement.h.

bool _faceVertsFirst
protected

Definition at line 342 of file refinement.h.

int _firstChildEdgeFromEdge
protected

Definition at line 356 of file refinement.h.

int _firstChildEdgeFromFace
protected

Definition at line 355 of file refinement.h.

int _firstChildFaceFromFace
protected

Definition at line 354 of file refinement.h.

int _firstChildVertFromEdge
protected

Definition at line 358 of file refinement.h.

int _firstChildVertFromFace
protected

Definition at line 357 of file refinement.h.

int _firstChildVertFromVert
protected

Definition at line 359 of file refinement.h.

std::vector<FVarRefinement*> _fvarChannels
protected

Definition at line 407 of file refinement.h.

Sdc::Options _options
protected

Definition at line 334 of file refinement.h.

Level const* _parent
protected

Definition at line 332 of file refinement.h.

std::vector<SparseTag> _parentEdgeTag
protected

Definition at line 401 of file refinement.h.

std::vector<SparseTag> _parentFaceTag
protected

Definition at line 400 of file refinement.h.

std::vector<SparseTag> _parentVertexTag
protected

Definition at line 402 of file refinement.h.

int _regFaceSize
protected

Definition at line 338 of file refinement.h.

Sdc::Split _splitType
protected

Definition at line 337 of file refinement.h.

bool _uniform
protected

Definition at line 341 of file refinement.h.

IndexVector _vertChildVertIndex
protected

Definition at line 384 of file refinement.h.


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