Refinement Class Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
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 | ( | 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:

- opensubdiv/vtr/refinement.h