| OpenSubdiv

Loading...
Searching...
No Matches
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 & 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 Symbol 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