26 #ifndef __GLTF_REFINER_h__
27 #define __GLTF_REFINER_h__
61 const int32 NOT_IN_SUBMESH = -1;
95 bool output_custom_attribs =
false;
96 bool exporting_skin =
false;
98 std::function<exint(exint)> boneCapture_index_to_joint = {};
99 bool blendshape =
false;
110 CachedData* base_shape_cached_data =
nullptr;
137 RefineOptions options,
141 void setAddingSubsequentFrames(
bool use);
145 void animateInstanceXforms(
149 void setBlendShapeInfo(BlendShapeInfo info);
184 struct Attrib_CopyResult
193 template <
typename T,
typename FUNC_CAST>
205 template <
typename T =
void>
211 bool ExportAttribute(
216 uint32 addBlendShapeAttribute(
219 GLTF_Primitive& prim,
222 bool addBoneCaptureAttribs(
231 std::function<GLTF_Handle(UT_StringHolder, UT_Options &)> myCreateMaterial;
232 const RefineOptions myOptions;
234 CachedData myCachedData;
236 bool myAddingSubsequentFrames;
238 GLTF_BaseErrorManager* myErrorManager;
241 CachedData* myPolygonMeshCachedData;
242 BlendShapeInfo myBlendShapeInfo;
264 template <
typename T>
268 for (
exint idx = 0; idx < tuple_size; idx++)
272 if (
SYSabs(attr_arr[of1] - attr_arr[of2]) > myTol)
281 template <
typename T>
286 int arr_size1 = arr_sizes[pt_1];
287 int arr_size2 = arr_sizes[pt_2];
289 if (arr_size1 != arr_size2)
297 for (
exint arr_idx = 0; arr_idx < arr_size1; arr_idx++)
299 if (
SYSabs(vals[off1+arr_idx] - vals[off2+arr_idx]) > myTol)
308 template <
typename T>
316 template <
typename T>
MeshNameSource mesh_name_source
GLsizei const GLchar *const * path
GLuint const GLchar * name
A reference counter base class for use with UT_IntrusivePtr.
GA_API const UT_StringHolder trans
GLsizei GLenum const void * indices
A mesh of unconnected points.
bool allowThreading() const override
Return true if the refinement allows threaded refinement of primitives.
The base class for all GT primitive types.
UT_IntrusivePtr< GLTF_Refiner > GLTF_RefinerHandle
Processes primitives generated by refinement process.
Container for a GU packed primitive.
UT_StringHolder mesh_name_val
A map of string to various well defined value types.
An array of numeric values (int32, int64, fpreal16, fpreal32, fpreal64)
getOption("OpenEXR.storage") storage
GLint GLenum GLboolean GLsizei stride