HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GLTF_NAMESPACE::GLTF_Refiner Class Reference

#include <GLTF_Refiner.h>

+ Inheritance diagram for GLTF_NAMESPACE::GLTF_Refiner:

Classes

struct  BlendShapeInfo
 
struct  RefineOptions
 

Public Types

enum  MeshNameSource { MeshNameSource::NONE, MeshNameSource::NODE_NAME, MeshNameSource::ATTRIBUTE }
 

Public Member Functions

 GLTF_Refiner (GLTF_ExportRoot &root, GLTF_Node *node, const UT_StringHolder &obj_material, UT_Function< GLTF_Handle(UT_StringHolder, UT_Options &)> create_material, RefineOptions options, GLTF_BaseErrorManager *error_manager)
 
 ~GLTF_Refiner () override=default
 
void addPrimitive (const GT_PrimitiveHandle &prim) override
 
bool allowThreading () const override
 Return true if the refinement allows threaded refinement of primitives. More...
 
void setAddingSubsequentFrames (bool use)
 
void setNode (GLTF_Node *node)
 
void animateInstanceXforms (UT_Function< void(GLTF_Handle, const UT_Array< UT_Matrix4D > &)> func)
 
void setBlendShapeInfo (BlendShapeInfo info)
 
- Public Member Functions inherited from GT_Refine
 GT_Refine ()
 Default constructor. More...
 
virtual ~GT_Refine ()
 Destructor. More...
 
template<typename Range , typename Body >
void refineRange (const Range &range, const Body &body)
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GLTF_Refiner >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 
SYS_FORCE_INLINE bool conditionalAddRef () noexcept
 

Static Public Member Functions

static GLTF_RefinerHandle refine (const GU_Detail *src, GLTF_ExportRoot &root, GLTF_Node &node, const UT_StringHolder &obj_material, UT_Function< GLTF_Handle(UT_StringHolder, UT_Options &)> create_material, RefineOptions options, GLTF_BaseErrorManager *error_manager)
 
- Static Public Member Functions inherited from GT_Refine
static voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 

Additional Inherited Members

- Protected Member Functions inherited from UT_IntrusiveRefCounter< GLTF_Refiner >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

Definition at line 55 of file GLTF_Refiner.h.

Member Enumeration Documentation

Enumerator
NONE 
NODE_NAME 
ATTRIBUTE 

Definition at line 85 of file GLTF_Refiner.h.

Constructor & Destructor Documentation

GLTF_NAMESPACE::GLTF_Refiner::GLTF_Refiner ( GLTF_ExportRoot root,
GLTF_Node node,
const UT_StringHolder obj_material,
UT_Function< GLTF_Handle(UT_StringHolder, UT_Options &)>  create_material,
RefineOptions  options,
GLTF_BaseErrorManager error_manager 
)
GLTF_NAMESPACE::GLTF_Refiner::~GLTF_Refiner ( )
overridedefault

Member Function Documentation

void GLTF_NAMESPACE::GLTF_Refiner::addPrimitive ( const GT_PrimitiveHandle prim)
overridevirtual

This method is called for all primitives generated during the refinement process.

Implements GT_Refine.

bool GLTF_NAMESPACE::GLTF_Refiner::allowThreading ( ) const
inlineoverridevirtual

Return true if the refinement allows threaded refinement of primitives.

Reimplemented from GT_Refine.

Definition at line 123 of file GLTF_Refiner.h.

void GLTF_NAMESPACE::GLTF_Refiner::animateInstanceXforms ( UT_Function< void(GLTF_Handle, const UT_Array< UT_Matrix4D > &)>  func)
static GLTF_RefinerHandle GLTF_NAMESPACE::GLTF_Refiner::refine ( const GU_Detail src,
GLTF_ExportRoot root,
GLTF_Node node,
const UT_StringHolder obj_material,
UT_Function< GLTF_Handle(UT_StringHolder, UT_Options &)>  create_material,
RefineOptions  options,
GLTF_BaseErrorManager error_manager 
)
static

A convenience function. Refines the detail, and adds meshes (or potentially submeshes if instancing is used) to the GLTF_Node that is passed in.

void GLTF_NAMESPACE::GLTF_Refiner::setAddingSubsequentFrames ( bool  use)
void GLTF_NAMESPACE::GLTF_Refiner::setBlendShapeInfo ( BlendShapeInfo  info)
void GLTF_NAMESPACE::GLTF_Refiner::setNode ( GLTF_Node node)

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