25#ifndef OPENSUBDIV3_BFR_SURFACE_FACTORY_ADAPTER_H
26#define OPENSUBDIV3_BFR_SURFACE_FACTORY_ADAPTER_H
28#include "../version.h"
33namespace OPENSUBDIV_VERSION {
37class VertexDescriptor;
114 Index vertexIndices[])
const = 0;
118 FVarID fvarID,
Index fvarValueIndices[])
const = 0;
162 Index faceIndex,
int faceVertex,
167 Index faceIndex,
int faceVertex,
168 Index vertexIndices[])
const = 0;
173 Index faceIndex,
int faceVertex,
174 FVarID fvarID,
Index fvarValueIndices[])
const = 0;
204 Index faceIndex,
Index vertexIndices[])
const;
232using namespace OPENSUBDIV_VERSION;
Abstract interface adapting SurfaceFactory to a connected mesh representation.
virtual int getFaceVertexIncidentFaceFVarValueIndices(Index faceIndex, int faceVertex, FVarID fvarID, Index fvarValueIndices[]) const =0
Gather face-varying indices of incident faces around a face-vertex.
virtual int getFaceVertexIncidentFaceVertexIndices(Index faceIndex, int faceVertex, Index vertexIndices[]) const =0
Gather vertex indices of incident faces around a face-vertex.
virtual int getFaceSize(Index faceIndex) const =0
Returns the size of a face (number of vertices)
int Index
Integer type representing a mesh index.
virtual int populateFaceVertexDescriptor(Index faceIndex, int faceVertex, VertexDescriptor *vertexDescriptor) const =0
Describe the topology of incident faces around a face-vertex.
virtual bool getFaceNeighborhoodVertexIndicesIfRegular(Index faceIndex, Index vertexIndices[]) const
virtual bool getFaceNeighborhoodFVarValueIndicesIfRegular(Index faceIndex, FVarID fvarID, Index fvarValueIndices[]) const
virtual int getFaceFVarValueIndices(Index faceIndex, FVarID fvarID, Index fvarValueIndices[]) const =0
Gather the face-varying indices of the face's vertices.
virtual int getFaceVertexIndices(Index faceIndex, Index vertexIndices[]) const =0
Gather the indices of the face's vertices.
virtual bool isFaceHole(Index faceIndex) const =0
Returns if a face is a hole.
std::intptr_t FVarID
Type used to identify and specify face-varying primvars.
Simple class used by subclasses of SurfaceFactory to describe a vertex.