Blender V4.3
blender::opensubdiv::EvalOutputAPI Class Reference

#include <evaluator_impl.h>

Classes

class  EvalOutput

Public Member Functions

 EvalOutputAPI (EvalOutput *implementation, PatchMap *patch_map)
 ~EvalOutputAPI ()
void setSettings (const OpenSubdiv_EvaluatorSettings *settings)
void setCoarsePositions (const float *positions, const int start_vertex_index, const int num_vertices)
void setVertexData (const float *data, const int start_vertex_index, const int num_vertices)
void setVaryingData (const float *varying_data, const int start_vertex_index, const int num_vertices)
void setFaceVaryingData (const int face_varying_channel, const float *varying_data, const int start_vertex_index, const int num_vertices)
void setCoarsePositionsFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void setVaryingDataFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void setFaceVaryingDataFromBuffer (const int face_varying_channel, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void refine ()
void evaluateLimit (const int ptex_face_index, float face_u, float face_v, float P[3], float dPdu[3], float dPdv[3])
void evaluateVertexData (const int ptes_face_index, float face_u, float face_v, float data[])
void evaluateVarying (const int ptes_face_index, float face_u, float face_v, float varying[3])
void evaluateFaceVarying (const int face_varying_channel, const int ptes_face_index, float face_u, float face_v, float face_varying[2])
void evaluatePatchesLimit (const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, float *P, float *dPdu, float *dPdv)
void getPatchMap (OpenSubdiv_Buffer *patch_map_handles, OpenSubdiv_Buffer *patch_map_quadtree, int *min_patch_face, int *max_patch_face, int *max_depth, int *patches_are_triangular)
void fillPatchArraysBuffer (OpenSubdiv_Buffer *patch_arrays_buffer)
void wrapPatchIndexBuffer (OpenSubdiv_Buffer *patch_index_buffer)
void wrapPatchParamBuffer (OpenSubdiv_Buffer *patch_param_buffer)
void wrapSrcBuffer (OpenSubdiv_Buffer *src_buffer)
void wrapSrcVertexDataBuffer (OpenSubdiv_Buffer *src_buffer)
void fillFVarPatchArraysBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_arrays_buffer)
void wrapFVarPatchIndexBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_index_buffer)
void wrapFVarPatchParamBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_param_buffer)
void wrapFVarSrcBuffer (const int face_varying_channel, OpenSubdiv_Buffer *src_buffer)
bool hasVertexData () const

Protected Attributes

PatchMappatch_map_
EvalOutputimplementation_

Detailed Description

Definition at line 37 of file evaluator_impl.h.

Constructor & Destructor Documentation

◆ EvalOutputAPI()

blender::opensubdiv::EvalOutputAPI::EvalOutputAPI ( EvalOutput * implementation,
PatchMap * patch_map )

Definition at line 142 of file evaluator_impl.cc.

References implementation_, and patch_map_.

◆ ~EvalOutputAPI()

blender::opensubdiv::EvalOutputAPI::~EvalOutputAPI ( )

Definition at line 147 of file evaluator_impl.cc.

References implementation_.

Member Function Documentation

◆ evaluateFaceVarying()

void blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying ( const int face_varying_channel,
const int ptes_face_index,
float face_u,
float face_v,
float face_varying[2] )

Definition at line 299 of file evaluator_impl.cc.

References implementation_, and patch_map_.

Referenced by evaluateFaceVarying().

◆ evaluateLimit()

void blender::opensubdiv::EvalOutputAPI::evaluateLimit ( const int ptex_face_index,
float face_u,
float face_v,
float P[3],
float dPdu[3],
float dPdv[3] )

Definition at line 250 of file evaluator_impl.cc.

References implementation_, NULL, P, and patch_map_.

Referenced by evaluateLimit().

◆ evaluatePatchesLimit()

void blender::opensubdiv::EvalOutputAPI::evaluatePatchesLimit ( const OpenSubdiv_PatchCoord * patch_coords,
const int num_patch_coords,
float * P,
float * dPdu,
float * dPdv )

◆ evaluateVarying()

void blender::opensubdiv::EvalOutputAPI::evaluateVarying ( const int ptes_face_index,
float face_u,
float face_v,
float varying[3] )

Definition at line 271 of file evaluator_impl.cc.

References implementation_, and patch_map_.

Referenced by evaluateVarying().

◆ evaluateVertexData()

void blender::opensubdiv::EvalOutputAPI::evaluateVertexData ( const int ptes_face_index,
float face_u,
float face_v,
float data[] )

Definition at line 285 of file evaluator_impl.cc.

References implementation_, and patch_map_.

Referenced by evaluateVertexData().

◆ fillFVarPatchArraysBuffer()

void blender::opensubdiv::EvalOutputAPI::fillFVarPatchArraysBuffer ( const int face_varying_channel,
OpenSubdiv_Buffer * patch_arrays_buffer )

Definition at line 379 of file evaluator_impl.cc.

References implementation_.

Referenced by fillFVarPatchArraysBuffer().

◆ fillPatchArraysBuffer()

void blender::opensubdiv::EvalOutputAPI::fillPatchArraysBuffer ( OpenSubdiv_Buffer * patch_arrays_buffer)

Definition at line 354 of file evaluator_impl.cc.

References implementation_.

Referenced by fillPatchArraysBuffer().

◆ getPatchMap()

void blender::opensubdiv::EvalOutputAPI::getPatchMap ( OpenSubdiv_Buffer * patch_map_handles,
OpenSubdiv_Buffer * patch_map_quadtree,
int * min_patch_face,
int * max_patch_face,
int * max_depth,
int * patches_are_triangular )

Definition at line 331 of file evaluator_impl.cc.

References OpenSubdiv_Buffer::alloc, handles, and patch_map_.

Referenced by getPatchMap().

◆ hasVertexData()

bool blender::opensubdiv::EvalOutputAPI::hasVertexData ( ) const

Definition at line 403 of file evaluator_impl.cc.

References implementation_.

Referenced by hasVertexData().

◆ refine()

void blender::opensubdiv::EvalOutputAPI::refine ( )

Definition at line 245 of file evaluator_impl.cc.

References implementation_.

Referenced by refine().

◆ setCoarsePositions()

void blender::opensubdiv::EvalOutputAPI::setCoarsePositions ( const float * positions,
const int start_vertex_index,
const int num_vertices )

Definition at line 157 of file evaluator_impl.cc.

References implementation_.

Referenced by setCoarsePositions().

◆ setCoarsePositionsFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setCoarsePositionsFromBuffer ( const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 191 of file evaluator_impl.cc.

References implementation_.

Referenced by setCoarsePositionsFromBuffer().

◆ setFaceVaryingData()

void blender::opensubdiv::EvalOutputAPI::setFaceVaryingData ( const int face_varying_channel,
const float * varying_data,
const int start_vertex_index,
const int num_vertices )

Definition at line 181 of file evaluator_impl.cc.

References implementation_.

Referenced by setFaceVaryingData().

◆ setFaceVaryingDataFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setFaceVaryingDataFromBuffer ( const int face_varying_channel,
const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 225 of file evaluator_impl.cc.

References implementation_.

Referenced by setFaceVaryingDataFromBuffer().

◆ setSettings()

void blender::opensubdiv::EvalOutputAPI::setSettings ( const OpenSubdiv_EvaluatorSettings * settings)

Definition at line 152 of file evaluator_impl.cc.

References implementation_.

Referenced by setSettings().

◆ setVaryingData()

void blender::opensubdiv::EvalOutputAPI::setVaryingData ( const float * varying_data,
const int start_vertex_index,
const int num_vertices )

Definition at line 165 of file evaluator_impl.cc.

References implementation_.

Referenced by setVaryingData().

◆ setVaryingDataFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setVaryingDataFromBuffer ( const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 208 of file evaluator_impl.cc.

References implementation_.

Referenced by setVaryingDataFromBuffer().

◆ setVertexData()

void blender::opensubdiv::EvalOutputAPI::setVertexData ( const float * data,
const int start_vertex_index,
const int num_vertices )

Definition at line 173 of file evaluator_impl.cc.

References implementation_.

Referenced by setVertexData().

◆ wrapFVarPatchIndexBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapFVarPatchIndexBuffer ( const int face_varying_channel,
OpenSubdiv_Buffer * patch_index_buffer )

Definition at line 385 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapFVarPatchIndexBuffer().

◆ wrapFVarPatchParamBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapFVarPatchParamBuffer ( const int face_varying_channel,
OpenSubdiv_Buffer * patch_param_buffer )

Definition at line 391 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapFVarPatchParamBuffer().

◆ wrapFVarSrcBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapFVarSrcBuffer ( const int face_varying_channel,
OpenSubdiv_Buffer * src_buffer )

Definition at line 397 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapFVarSrcBuffer().

◆ wrapPatchIndexBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapPatchIndexBuffer ( OpenSubdiv_Buffer * patch_index_buffer)

Definition at line 359 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapPatchIndexBuffer().

◆ wrapPatchParamBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapPatchParamBuffer ( OpenSubdiv_Buffer * patch_param_buffer)

Definition at line 364 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapPatchParamBuffer().

◆ wrapSrcBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapSrcBuffer ( OpenSubdiv_Buffer * src_buffer)

Definition at line 369 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapSrcBuffer().

◆ wrapSrcVertexDataBuffer()

void blender::opensubdiv::EvalOutputAPI::wrapSrcVertexDataBuffer ( OpenSubdiv_Buffer * src_buffer)

Definition at line 374 of file evaluator_impl.cc.

References implementation_.

Referenced by wrapSrcVertexDataBuffer().

Member Data Documentation

◆ implementation_

◆ patch_map_

PatchMap* blender::opensubdiv::EvalOutputAPI::patch_map_
protected

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