Classes | Public Member Functions | Protected Attributes | Friends | List of all members
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 const& child | ( |  | ) | const
| inline

Definition at line 76 of file refinement.h.

## § child() [2/2]

Level& child | ( |  | ) |
| inline

Definition at line 77 of file refinement.h.

## § getChildEdgeParentIndex()

Index getChildEdgeParentIndex | ( | Index | e | ) | const
| inline

Definition at line 158 of file refinement.h.

## § getChildEdgeTag() [1/2]

ChildTag const& getChildEdgeTag | ( | Index | e | ) | const
| inline

Definition at line 214 of file refinement.h.

## § getChildEdgeTag() [2/2]

ChildTag& getChildEdgeTag | ( | Index | e | ) |
| inline

Definition at line 218 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 const& getChildFaceTag | ( | Index | f | ) | const
| inline

Definition at line 213 of file refinement.h.

## § getChildFaceTag() [2/2]

ChildTag& getChildFaceTag | ( | Index | f | ) |
| inline

Definition at line 217 of file refinement.h.

## § getChildVertexParentIndex()

Index getChildVertexParentIndex | ( | Index | v | ) | const
| inline

Definition at line 160 of file refinement.h.

## § getChildVertexTag() [1/2]

ChildTag const& getChildVertexTag | ( | Index | v | ) | const
| inline

Definition at line 215 of file refinement.h.

## § getChildVertexTag() [2/2]

ChildTag& getChildVertexTag | ( | Index | v | ) |
| inline

Definition at line 219 of file refinement.h.

## § getEdgeChildEdges() [1/2]

ConstIndexArray getEdgeChildEdges | ( | Index | parentEdge | ) | const
| inline

Definition at line 438 of file refinement.h.

## § getEdgeChildEdges() [2/2]

IndexArray getEdgeChildEdges | ( | Index | parentEdge | ) |
| inline

Definition at line 444 of file refinement.h.

## § getEdgeChildVertex()

Index getEdgeChildVertex | ( | Index | e | ) | const
| inline

Definition at line 145 of file refinement.h.

## § getFaceChildEdges() [1/2]

ConstIndexArray getFaceChildEdges | ( | Index | parentFace | ) | const
| inline

Definition at line 425 of file refinement.h.

## § getFaceChildEdges() [2/2]

IndexArray getFaceChildEdges | ( | Index | parentFace | ) |
| inline

Definition at line 431 of file refinement.h.

## § getFaceChildFaces() [1/2]

ConstIndexArray getFaceChildFaces | ( | Index | parentFace | ) | const
| inline

Definition at line 411 of file refinement.h.

## § getFaceChildFaces() [2/2]

IndexArray getFaceChildFaces | ( | Index | parentFace | ) |
| inline

Definition at line 418 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 const& getParentEdgeSparseTag | ( | Index | e | ) | const
| inline

Definition at line 206 of file refinement.h.

## § getParentEdgeSparseTag() [2/2]

SparseTag& getParentEdgeSparseTag | ( | Index | e | ) |
| inline

Definition at line 210 of file refinement.h.

## § getParentFaceSparseTag() [1/2]

SparseTag const& getParentFaceSparseTag | ( | Index | f | ) | const
| inline

Definition at line 205 of file refinement.h.

## § getParentFaceSparseTag() [2/2]

SparseTag& getParentFaceSparseTag | ( | Index | f | ) |
| inline

Definition at line 209 of file refinement.h.

## § getParentVertexSparseTag() [1/2]

SparseTag const& getParentVertexSparseTag | ( | Index | v | ) | const
| inline

Definition at line 207 of file refinement.h.

## § getParentVertexSparseTag() [2/2]

SparseTag& getParentVertexSparseTag | ( | Index | v | ) |
| inline

Definition at line 211 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