My Project
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
 
const FVarRefinementgetFVarRefinement (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)
 
const SparseTaggetParentFaceSparseTag (Index f) const
 
const SparseTaggetParentEdgeSparseTag (Index e) const
 
const SparseTaggetParentVertexSparseTag (Index v) const
 
SparseTaggetParentFaceSparseTag (Index f)
 
SparseTaggetParentEdgeSparseTag (Index e)
 
SparseTaggetParentVertexSparseTag (Index v)
 
const ChildTaggetChildFaceTag (Index f) const
 
const ChildTaggetChildEdgeTag (Index e) const
 
const ChildTaggetChildVertexTag (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

const Level_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()

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

◆ ~Refinement()

virtual ~Refinement ( )
virtual

Member Function Documentation

◆ allocateParentChildIndices()

virtual void allocateParentChildIndices ( )
pure virtual

◆ child() [1/2]

Level& child ( )
inline

Definition at line 77 of file refinement.h.

◆ child() [2/2]

Level const& child ( ) const
inline

Definition at line 76 of file refinement.h.

◆ getChildEdgeParentIndex()

Index getChildEdgeParentIndex ( Index  e) const
inline

Definition at line 158 of file refinement.h.

◆ getChildEdgeTag() [1/2]

ChildTag& getChildEdgeTag ( Index  e)
inline

Definition at line 218 of file refinement.h.

◆ getChildEdgeTag() [2/2]

const ChildTag& getChildEdgeTag ( Index  e) const
inline

Definition at line 214 of file refinement.h.

◆ getChildFaceInParentFace()

int getChildFaceInParentFace ( Index  f) const
inline

Definition at line 156 of file refinement.h.

◆ getChildFaceParentFace()

Index getChildFaceParentFace ( Index  f) const
inline

Definition at line 155 of file refinement.h.

◆ getChildFaceTag() [1/2]

ChildTag& getChildFaceTag ( Index  f)
inline

Definition at line 217 of file refinement.h.

◆ getChildFaceTag() [2/2]

const ChildTag& getChildFaceTag ( Index  f) const
inline

Definition at line 213 of file refinement.h.

◆ getChildVertexParentIndex()

Index getChildVertexParentIndex ( Index  v) const
inline

Definition at line 160 of file refinement.h.

◆ getChildVertexTag() [1/2]

ChildTag& getChildVertexTag ( Index  v)
inline

Definition at line 219 of file refinement.h.

◆ getChildVertexTag() [2/2]

const ChildTag& getChildVertexTag ( Index  v) const
inline

Definition at line 215 of file refinement.h.

◆ getEdgeChildEdges() [1/2]

IndexArray getEdgeChildEdges ( Index  parentEdge)
inline

Definition at line 444 of file refinement.h.

◆ getEdgeChildEdges() [2/2]

ConstIndexArray getEdgeChildEdges ( Index  parentEdge) const
inline

Definition at line 438 of file refinement.h.

◆ getEdgeChildVertex()

Index getEdgeChildVertex ( Index  e) const
inline

Definition at line 145 of file refinement.h.

◆ getFaceChildEdges() [1/2]

IndexArray getFaceChildEdges ( Index  parentFace)
inline

Definition at line 431 of file refinement.h.

◆ getFaceChildEdges() [2/2]

ConstIndexArray getFaceChildEdges ( Index  parentFace) const
inline

Definition at line 425 of file refinement.h.

◆ getFaceChildFaces() [1/2]

IndexArray getFaceChildFaces ( Index  parentFace)
inline

Definition at line 418 of file refinement.h.

◆ getFaceChildFaces() [2/2]

ConstIndexArray getFaceChildFaces ( Index  parentFace) const
inline

Definition at line 411 of file refinement.h.

◆ getFaceChildVertex()

Index getFaceChildVertex ( Index  f) const
inline

Definition at line 144 of file refinement.h.

◆ getFirstChildEdgeFromEdges()

Index getFirstChildEdgeFromEdges ( ) const
inline

Definition at line 139 of file refinement.h.

◆ getFirstChildEdgeFromFaces()

Index getFirstChildEdgeFromFaces ( ) const
inline

Definition at line 138 of file refinement.h.

◆ getFirstChildFaceFromFaces()

Index getFirstChildFaceFromFaces ( ) const
inline

Definition at line 137 of file refinement.h.

◆ getFirstChildVertexFromEdges()

Index getFirstChildVertexFromEdges ( ) const
inline

Definition at line 141 of file refinement.h.

◆ getFirstChildVertexFromFaces()

Index getFirstChildVertexFromFaces ( ) const
inline

Definition at line 140 of file refinement.h.

◆ getFirstChildVertexFromVertices()

Index getFirstChildVertexFromVertices ( ) const
inline

Definition at line 142 of file refinement.h.

◆ getFVarRefinement()

const FVarRefinement& getFVarRefinement ( int  c) const
inline

Definition at line 86 of file refinement.h.

◆ getNumChildEdgesFromEdges()

int getNumChildEdgesFromEdges ( ) const
inline

Definition at line 132 of file refinement.h.

◆ getNumChildEdgesFromFaces()

int getNumChildEdgesFromFaces ( ) const
inline

Definition at line 131 of file refinement.h.

◆ getNumChildFacesFromFaces()

int getNumChildFacesFromFaces ( ) const
inline

Definition at line 130 of file refinement.h.

◆ getNumChildVerticesFromEdges()

int getNumChildVerticesFromEdges ( ) const
inline

Definition at line 134 of file refinement.h.

◆ getNumChildVerticesFromFaces()

int getNumChildVerticesFromFaces ( ) const
inline

Definition at line 133 of file refinement.h.

◆ getNumChildVerticesFromVertices()

int getNumChildVerticesFromVertices ( ) const
inline

Definition at line 135 of file refinement.h.

◆ getNumFVarChannels()

int getNumFVarChannels ( ) const
inline

Definition at line 84 of file refinement.h.

◆ getOptions()

Sdc::Options getOptions ( ) const
inline

Definition at line 81 of file refinement.h.

◆ getParentEdgeSparseTag() [1/2]

SparseTag& getParentEdgeSparseTag ( Index  e)
inline

Definition at line 210 of file refinement.h.

◆ getParentEdgeSparseTag() [2/2]

const SparseTag& getParentEdgeSparseTag ( Index  e) const
inline

Definition at line 206 of file refinement.h.

◆ getParentFaceSparseTag() [1/2]

SparseTag& getParentFaceSparseTag ( Index  f)
inline

Definition at line 209 of file refinement.h.

◆ getParentFaceSparseTag() [2/2]

const SparseTag& getParentFaceSparseTag ( Index  f) const
inline

Definition at line 205 of file refinement.h.

◆ getParentVertexSparseTag() [1/2]

SparseTag& getParentVertexSparseTag ( Index  v)
inline

Definition at line 211 of file refinement.h.

◆ getParentVertexSparseTag() [2/2]

const SparseTag& getParentVertexSparseTag ( Index  v) const
inline

Definition at line 207 of file refinement.h.

◆ getRegularFaceSize()

int getRegularFaceSize ( ) const
inline

Definition at line 80 of file refinement.h.

◆ getSplitType()

Sdc::Split getSplitType ( ) const
inline

Definition at line 79 of file refinement.h.

◆ getVertexChildVertex()

Index getVertexChildVertex ( Index  v) const
inline

Definition at line 146 of file refinement.h.

◆ hasFaceVerticesFirst()

bool hasFaceVerticesFirst ( ) const
inline

Definition at line 123 of file refinement.h.

◆ initializeChildComponentCounts()

void initializeChildComponentCounts ( )

◆ initializeSparseSelectionTags()

void initializeSparseSelectionTags ( )

◆ isChildVertexComplete()

bool isChildVertexComplete ( Index  v) const
inline

Definition at line 153 of file refinement.h.

◆ markSparseChildComponentIndices()

void markSparseChildComponentIndices ( )

◆ markSparseEdgeChildren()

void markSparseEdgeChildren ( )

◆ markSparseFaceChildren()

virtual void markSparseFaceChildren ( )
pure virtual

◆ markSparseVertexChildren()

void markSparseVertexChildren ( )

◆ parent()

Level const& parent ( ) const
inline

Definition at line 75 of file refinement.h.

◆ populateChildToParentMapping()

void populateChildToParentMapping ( )

◆ populateEdgeFaceRelation()

virtual void populateEdgeFaceRelation ( )
pure virtual

◆ populateEdgeParentFromParentEdges()

void populateEdgeParentFromParentEdges ( ChildTag const  initialChildTags[2][4])

◆ populateEdgeParentFromParentFaces()

void populateEdgeParentFromParentFaces ( ChildTag const  initialChildTags[2][4])

◆ populateEdgeParentVectors()

void populateEdgeParentVectors ( ChildTag const  initialChildTags[2][4])

◆ populateEdgeTagsFromParentEdges()

void populateEdgeTagsFromParentEdges ( )

◆ populateEdgeTagsFromParentFaces()

void populateEdgeTagsFromParentFaces ( )

◆ populateEdgeTagVectors()

void populateEdgeTagVectors ( )

◆ populateEdgeVertexRelation()

virtual void populateEdgeVertexRelation ( )
pure virtual

◆ populateFaceEdgeRelation()

virtual void populateFaceEdgeRelation ( )
pure virtual

◆ populateFaceParentFromParentFaces()

void populateFaceParentFromParentFaces ( ChildTag const  initialChildTags[2][4])

◆ populateFaceParentVectors()

void populateFaceParentVectors ( ChildTag const  initialChildTags[2][4])

◆ populateFaceTagsFromParentFaces()

void populateFaceTagsFromParentFaces ( )

◆ populateFaceTagVectors()

void populateFaceTagVectors ( )

◆ populateFaceVertexRelation()

virtual void populateFaceVertexRelation ( )
pure virtual

◆ populateParentChildIndices()

void populateParentChildIndices ( )

◆ populateParentToChildMapping()

void populateParentToChildMapping ( )

◆ populateVertexEdgeRelation()

virtual void populateVertexEdgeRelation ( )
pure virtual

◆ populateVertexFaceRelation()

virtual void populateVertexFaceRelation ( )
pure virtual

◆ populateVertexParentFromParentEdges()

void populateVertexParentFromParentEdges ( ChildTag const  initialChildTags[2][4])

◆ populateVertexParentFromParentFaces()

void populateVertexParentFromParentFaces ( ChildTag const  initialChildTags[2][4])

◆ populateVertexParentFromParentVertices()

void populateVertexParentFromParentVertices ( ChildTag const  initialChildTags[2][4])

◆ populateVertexParentVectors()

void populateVertexParentVectors ( ChildTag const  initialChildTags[2][4])

◆ populateVertexTagsFromParentEdges()

void populateVertexTagsFromParentEdges ( )

◆ populateVertexTagsFromParentFaces()

void populateVertexTagsFromParentFaces