24#ifndef OPENSUBDIV3_VTR_FVAR_REFINEMENT_H
25#define OPENSUBDIV3_VTR_FVAR_REFINEMENT_H
27#include "../version.h"
29#include "../sdc/types.h"
30#include "../sdc/crease.h"
31#include "../vtr/types.h"
32#include "../vtr/refinement.h"
33#include "../vtr/fvarLevel.h"
41namespace OPENSUBDIV_VERSION {
96 Level const & _parentLevel;
99 Level const & _childLevel;
107 std::vector<LocalIndex> _childValueParentSource;
114using namespace OPENSUBDIV_VERSION;
unsigned short LocalIndex
Index getVertexValueOffset(Index v, Sibling i=0) const
void propagateValueTags()
void populateChildValuesFromEdgeVertices()
void estimateAndAllocateChildValues()
float getFractionalWeight(Index pVert, LocalIndex pSibling, Index cVert, LocalIndex cSibling) const
FVarRefinement(Refinement const &refinement, FVarLevel &parent, FVarLevel &child)
void reclassifySemisharpValues()
void populateChildValuesFromFaceVertices()
int populateChildValuesForVertexVertex(Index cVert, Index pVert)
void trimAndFinalizeChildValues()
int populateChildValuesForEdgeVertex(Index cVert, Index pEdge)
void populateChildValues()
void propagateValueCreases()
int getChildValueParentSource(Index vIndex, int sibling) const
void populateChildValuesFromVertexVertices()