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
Level & | child ()
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
SparseTag & | getParentFaceSparseTag (Index f)
SparseTag & | getParentEdgeSparseTag (Index e)
SparseTag & | getParentVertexSparseTag (Index v)
ChildTag const & | getChildFaceTag (Index f) const
ChildTag const & | getChildEdgeTag (Index e) const
ChildTag const & | getChildVertexTag (Index v) const
ChildTag & | getChildFaceTag (Index f)
ChildTag & | getChildEdgeTag (Index e)
ChildTag & | getChildVertexTag (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()

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]

ChildTag const & 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]

ChildTag const & 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]

ChildTag const & 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()

FVarRefinement const & 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]

SparseTag const & 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]

SparseTag const & 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]

SparseTag const & 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 | ( |  | ) |

## populateVertexTagsFromParentVertices()

void populateVertexTagsFromParentVertices | ( |  | ) |

## populateVertexTagVectors()

void populateVertexTagVectors | ( |  | ) |

## printParentToChildMapping()

void printParentToChildMapping | ( |  | ) | const

## propagateComponentTags()

void propagateComponentTags | ( |  | ) |

## reclassifySemisharpVertices()

void reclassifySemisharpVertices | ( |  | ) |

## refine()

void refine | ( | Options | options = `Options()` | ) |

## subdivideEdgeSharpness()

void subdivideEdgeSharpness | ( |  | ) |

## subdivideFVarChannels()

void subdivideFVarChannels | ( |  | ) |

## subdivideSharpnessValues()

void subdivideSharpnessValues | ( |  | ) |

## subdivideTopology()

void subdivideTopology | ( | Relations const & | relationsToSubdivide | ) |

## subdivideVertexSharpness()

void subdivideVertexSharpness | ( |  | ) |

## Friends And Related Function Documentation

## Level::print

void Level::print | ( | const Refinement * |  | ) | const

friend

## Member Data Documentation

## _child

Level* _child

protected

Definition at line 333 of file refinement.h.

## _childEdgeFromEdgeCount

int _childEdgeFromEdgeCount

protected

Definition at line 349 of file refinement.h.

## _childEdgeFromFaceCount

int _childEdgeFromFaceCount

protected

Definition at line 348 of file refinement.h.

## _childEdgeParentIndex

IndexVector _childEdgeParentIndex

protected

Definition at line 390 of file refinement.h.

## _childEdgeTag

std::vector<ChildTag> _childEdgeTag

protected

Definition at line 394 of file refinement.h.

## _childFaceFromFaceCount

int _childFaceFromFaceCount

protected

Definition at line 347 of file refinement.h.

## _childFaceParentIndex

IndexVector _childFaceParentIndex

protected

Definition at line 389 of file refinement.h.

## _childFaceTag

std::vector<ChildTag> _childFaceTag

protected

Definition at line 393 of file refinement.h.

## _childVertexParentIndex

IndexVector _childVertexParentIndex

protected

Definition at line 391 of file refinement.h.

## _childVertexTag

std::vector<ChildTag> _childVertexTag

protected

Definition at line 395 of file refinement.h.

## _childVertFromEdgeCount

int _childVertFromEdgeCount

protected

Definition at line 351 of file refinement.h.

## _childVertFromFaceCount

int _childVertFromFaceCount

protected

Definition at line 350 of file refinement.h.

## _childVertFromVertCount

int _childVertFromVertCount

protected

Definition at line 352 of file refinement.h.

## _edgeChildEdgeIndices

IndexVector _edgeChildEdgeIndices

protected

Definition at line 381 of file refinement.h.

## _edgeChildVertIndex

IndexVector _edgeChildVertIndex

protected

Definition at line 382 of file refinement.h.

## _faceChildEdgeCountsAndOffsets

IndexArray _faceChildEdgeCountsAndOffsets

protected

Definition at line 375 of file refinement.h.

## _faceChildEdgeIndices

IndexVector _faceChildEdgeIndices

protected

Definition at line 378 of file refinement.h.

## _faceChildFaceCountsAndOffsets

IndexArray _faceChildFaceCountsAndOffsets

protected

Definition at line 374 of file refinement.h.

## _faceChildFaceIndices

IndexVector _faceChildFaceIndices

protected

Definition at line 377 of file refinement.h.

## _faceChildVertIndex

IndexVector _faceChildVertIndex

protected

Definition at line 379 of file refinement.h.

## _faceVertsFirst

bool _faceVertsFirst

protected

Definition at line 342 of file refinement.h.

## _firstChildEdgeFromEdge

int _firstChildEdgeFromEdge

protected

Definition at line 356 of file refinement.h.

## _firstChildEdgeFromFace

int _firstChildEdgeFromFace

protected

Definition at line 355 of file refinement.h.

## _firstChildFaceFromFace

int _firstChildFaceFromFace

protected

Definition at line 354 of file refinement.h.

## _firstChildVertFromEdge

int _firstChildVertFromEdge

protected

Definition at line 358 of file refinement.h.

## _firstChildVertFromFace

int _firstChildVertFromFace

protected

Definition at line 357 of file refinement.h.

## _firstChildVertFromVert

int _firstChildVertFromVert

protected

Definition at line 359 of file refinement.h.

## _fvarChannels

std::vector<FVarRefinement*> _fvarChannels

protected

Definition at line 407 of file refinement.h.

## _options

Sdc::Options _options

protected

Definition at line 334 of file refinement.h.

## _parent

Level const* _parent

protected

Definition at line 332 of file refinement.h.

## _parentEdgeTag

std::vector<SparseTag> _parentEdgeTag

protected

Definition at line 401 of file refinement.h.

## _parentFaceTag

std::vector<SparseTag> _parentFaceTag

protected

Definition at line 400 of file refinement.h.

## _parentVertexTag

std::vector<SparseTag> _parentVertexTag

protected

Definition at line 402 of file refinement.h.

## _regFaceSize

int _regFaceSize

protected

Definition at line 338 of file refinement.h.

## _splitType

Sdc::Split _splitType

protected

Definition at line 337 of file refinement.h.

## _uniform

bool _uniform

protected

Definition at line 341 of file refinement.h.

## _vertChildVertIndex

IndexVector _vertChildVertIndex

protected

Definition at line 384 of file refinement.h.

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

- opensubdiv/vtr/refinement.h