OpenSubdiv: RefinerSurfaceFactoryBase Class Reference

| OpenSubdiv

Loading...
Searching...
No Matches
RefinerSurfaceFactoryBase Class Reference

Intermediate subclass of SurfaceFactory with Far::TopologyRefiner as the mesh. More...

`#include <refinerSurfaceFactory.h>`

Inheritance diagram for RefinerSurfaceFactoryBase:

## Public Member Functions
Construction and initialization
Construction and initialization
| RefinerSurfaceFactoryBase (Far::TopologyRefiner const &mesh, Options const &options)
| ~RefinerSurfaceFactoryBase () override=default
Public Member Functions inherited from SurfaceFactory
| ~SurfaceFactory () override
Sdc::SchemeType | GetSchemeType () const
| Return the subdivision scheme.
Sdc::Options | GetSchemeOptions () const
| Return the set of subdivision options.
bool | FaceHasLimitSurface (Index faceIndex) const
| Return if a specified face has a limit surface.
Parameterization | GetFaceParameterization (Index faceIndex) const
| Return the Parameterization of a face with a limit surface.
template<typename REAL>
bool | InitVertexSurface (Index faceIndex, Surface< REAL > *surface) const
| Initialize a Surface for vertex data.
template<typename REAL>
bool | InitVaryingSurface (Index faceIndex, Surface< REAL > *surface) const
| Initialize a Surface for varying data.
template<typename REAL>
bool | InitFaceVaryingSurface (Index faceIndex, Surface< REAL > *surface) const
| Initialize a Surface for the default face-varying data.
template<typename REAL>
bool | InitFaceVaryingSurface (Index faceIndex, Surface< REAL > *surface, FVarID fvarID) const
| Initialize a Surface for specified face-varying data.
template<typename REAL>
bool | InitSurfaces (Index faceIndex, Surface< REAL > *vtxSurface, Surface< REAL > *fvarSurfaces, FVarID const fvarIDs[]=0, int fvarCount=0, Surface< REAL > *varSurface=0) const
| Initialize multiple Surfaces at once.
template<typename REAL = float>
Surface< REAL > * | CreateVertexSurface (Index faceIndex) const
| Construct a Surface for vertex data.
template<typename REAL = float>
Surface< REAL > * | CreateVaryingSurface (Index faceIndex) const
| Construct a Surface for varying data.
template<typename REAL = float>
Surface< REAL > * | CreateFaceVaryingSurface (Index faceIndex) const
| Construct a Surface for the default face-varying data.
template<typename REAL = float>
Surface< REAL > * | CreateFaceVaryingSurface (Index faceIndex, FVarID id) const
| Construct a Surface for specified face-varying data.

## Simple queries related to Far::TopologyRefiner
Simple queries related to Far::TopologyRefiner
Far::TopologyRefiner const & | GetMesh () const
| Return the instance of the mesh.
int | GetNumFaces () const
| Return the number of faces.
int | GetNumFVarChannels () const
| Return the number of face-varying channels.

## Additional Inherited Members
Public Types inherited from SurfaceFactoryMeshAdapter
typedef int | Index
| Integer type representing a mesh index.
typedef std::intptr_t | FVarID
| Type used to identify and specify face-varying primvars.
| SurfaceFactory (Sdc::SchemeType schemeType, Sdc::Options const &schemeOptions, Options const &limitOptions)
| Constructor to be used by subclasses.
void | setInternalCache (SurfaceFactoryCache *cache)
| Subclass to identify an internal cache for use by base class.
| SurfaceFactory (SurfaceFactory const &)=delete
SurfaceFactory & | operator= (SurfaceFactory const &)=delete
Protected Member Functions inherited from SurfaceFactoryMeshAdapter
virtual bool | isFaceHole (Index faceIndex) const =0
| Returns if a face is a hole.
virtual int | getFaceSize (Index faceIndex) const =0
| Returns the size of a face (number of vertices)
virtual int | getFaceVertexIndices (Index faceIndex, Index vertexIndices[]) const =0
| Gather the indices of the face's vertices.
virtual int | getFaceFVarValueIndices (Index faceIndex, FVarID fvarID, Index fvarValueIndices[]) const =0
| Gather the face-varying indices of the face's vertices.
virtual int | populateFaceVertexDescriptor (Index faceIndex, int faceVertex, VertexDescriptor *vertexDescriptor) const =0
| Describe the topology 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 | getFaceVertexIncidentFaceFVarValueIndices (Index faceIndex, int faceVertex, FVarID fvarID, Index fvarValueIndices[]) const =0
| Gather face-varying indices 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

## Detailed Description

Intermediate subclass of SurfaceFactory with Far::TopologyRefiner as the mesh.

RefinerSurfaceFactoryBase is an intermediate subclass of SurfaceFactory using Far::TopologyRefiner as the connected mesh representation.

The SurfaceFactoryMeshAdapter interface for TopologyRefiner is provided in full, along with some public extensions specific to TopologyRefiner.

Additional caching expectations of SurfaceFactory are NOT specified here. These are deferred to subclasses to implement different behaviors of the factory's internal caching. A template for such subclasses is additionally provided – allowing clients desiring a thread-safe cache to simply declare a subclass for a preferred thread-safe type.

Definition at line 58 of file refinerSurfaceFactory.h.

## Constructor & Destructor Documentation

## ◆ RefinerSurfaceFactoryBase()

RefinerSurfaceFactoryBase | ( | Far::TopologyRefiner const & | mesh,
|  | Options const & | options )

## ◆ ~RefinerSurfaceFactoryBase()

~RefinerSurfaceFactoryBase | ( |  | ) |
| overridedefault

## Member Function Documentation

## ◆ GetMesh()

Far::TopologyRefiner const & GetMesh | ( |  | ) | const
| inline

Return the instance of the mesh.

Definition at line 79 of file refinerSurfaceFactory.h.

## ◆ GetNumFaces()

int GetNumFaces | ( |  | ) | const
| inline

Return the number of faces.

Definition at line 82 of file refinerSurfaceFactory.h.

## ◆ GetNumFVarChannels()

int GetNumFVarChannels | ( |  | ) | const
| inline

Return the number of face-varying channels.

Definition at line 85 of file refinerSurfaceFactory.h.

The documentation for this class was generated from the following file:

- opensubdiv/bfr/refinerSurfaceFactory.h