HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VEX_GeoCommand.h File Reference
#include "VEX_API.h"
#include "VEX_Types.h"
#include <UT/UT_Array.h>
#include <UT/UT_IntArray.h>
#include <UT/UT_NonCopyable.h>
#include <UT/UT_PageArray.h>
#include <UT/UT_SharedString.h>
#include <UT/UT_StringHolder.h>
#include <UT/UT_StringSet.h>
#include <UT/UT_Vector3.h>
#include <UT/UT_VectorTypes.h>
#include <variant>
+ Include dependency graph for VEX_GeoCommand.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  VEX_GeoCommand
 
class  VEX_GeoCommandPrimAdd< PREC >
 
class  VEX_GeoCommandPointAdd< PREC >
 
class  VEX_GeoCommandVertexAdd< PREC >
 
class  VEX_GeoCommandObjectRemove< PREC >
 
class  VEX_DataCommandAttribEdit< PREC, OBJ_ID, SEC_ID, T >
 
class  VEX_GeoCommandVertexRewire< PREC >
 
class  VEX_GeoCommandAgentChannelEdit< PREC >
 
class  VEX_GeoCommandAgentXformEdit< PREC >
 
class  VEX_GeoCommandAgentClipEdit< PREC >
 
class  VEX_GeoCommandAgentLayerEdit< PREC >
 
class  VEX_GeoCommandAgentAddClip< PREC >
 
class  VEX_GeoCommandPrimChannelEdit< PREC >
 
class  VEX_AttribEdit< PREC, OBJ_ID, SEC_ID >
 
class  VEX_AttribEdit< PREC, OBJ_ID, SEC_ID >::DefaultValue
 
class  VEX_AttribEditId
 
class  VEX_GeoCommandEdgeGroupEdit< PREC >
 
class  VEX_GeoEdgeGroupEdit< PREC >
 
class  VEX_GeoCommandQueue< PREC >
 
struct  VEX_GeoCommandQueue< PREC >::VariableEntry
 

Namespaces

 VEX_Geo
 
 VEX_DataObjID
 

Macros

#define VEX_GEOATTRIBEDIT_CASE(vtype, type, name, isarray)
 
#define VEX_GEOATTRIBEDIT_CASE_DIRECT(ty, name)   VEX_GEOATTRIBEDIT_CASE(VEX_VexTypeResolver<VEX##ty<PREC>>::type,VEX##ty<PREC>,name,false)
 
#define VEX_GEOATTRIBEDIT_CASE_ARRAY(ty, name)   VEX_GEOATTRIBEDIT_CASE(VEX_VexTypeResolver<VEX##ty<PREC>>::type,const UT_Array<VEX##ty<PREC>>*,name,true)
 

Typedefs

template<VEX_Precision PREC, typename T >
using VEX_GeoCommandAttribEdit = VEX_DataCommandAttribEdit< PREC, VEXint< PREC >, VEXint< PREC >, T >
 
template<VEX_Precision PREC, typename T >
using VEX_UsdCommandAttribEdit = VEX_DataCommandAttribEdit< PREC, UT_StringHolder, VEXint< PREC >, T >
 
using VEX_AttribEditIndexMap = UT_Map< VEX_AttribEditId, exint >
 
template<VEX_Precision PREC>
using VEX_GeoAttribEdit = VEX_AttribEdit< PREC, VEXint< PREC >, VEXint< PREC >>
 
template<VEX_Precision PREC>
using VEX_UsdEdit = VEX_AttribEdit< PREC, UT_StringHolder, VEXint< PREC >>
 

Enumerations

enum  VEX_GeoMode {
  VEX_GeoMode::SET, VEX_GeoMode::ADD, VEX_GeoMode::MAX, VEX_GeoMode::MIN,
  VEX_GeoMode::MULTIPLY, VEX_GeoMode::TOGGLE, VEX_GeoMode::APPEND, VEX_GeoMode::INVALID
}
 
enum  VEX_GeoPrimType {
  VEX_GeoPrimType::POLY_OPEN, VEX_GeoPrimType::POLY_CLOSED, VEX_GeoPrimType::TET, VEX_GeoPrimType::SPHERE,
  VEX_GeoPrimType::CIRCLE, VEX_GeoPrimType::TUBE, VEX_GeoPrimType::METABALL, VEX_GeoPrimType::METASQUAD,
  VEX_GeoPrimType::PACKEDALEMBIC, VEX_GeoPrimType::PACKEDDISK, VEX_GeoPrimType::HEX, VEX_GeoPrimType::CHANNEL,
  VEX_GeoPrimType::INVALID
}
 
enum  VEX_GeoDictType {
  VEX_GeoDictType::DETAIL, VEX_GeoDictType::DETAILINTRINSIC, VEX_GeoDictType::PRIM, VEX_GeoDictType::PRIMINTRINSIC,
  VEX_GeoDictType::PRIMGROUP, VEX_GeoDictType::POINT, VEX_GeoDictType::POINTGROUP, VEX_GeoDictType::VERTEX,
  VEX_GeoDictType::VERTEXGROUP, VEX_GeoDictType::INVALID
}
 
enum  VEX_GeoTypeInfo {
  VEX_GeoTypeInfo::NOCHANGE = -1, VEX_GeoTypeInfo::NONE = 0, VEX_GeoTypeInfo::POINT, VEX_GeoTypeInfo::HPOINT,
  VEX_GeoTypeInfo::VECTOR, VEX_GeoTypeInfo::NORMAL, VEX_GeoTypeInfo::COLOR, VEX_GeoTypeInfo::TRANSFORM,
  VEX_GeoTypeInfo::QUATERNION, VEX_GeoTypeInfo::INDEXPAIR, VEX_GeoTypeInfo::NONARITHMETIC_INTEGER, VEX_GeoTypeInfo::ARITHMETIC_INTEGER,
  VEX_GeoTypeInfo::TEXTURE_COORD
}
 
enum  VEX_GeoPrimChannelOperation {
  VEX_GeoPrimChannelOperation::InsertKey, VEX_GeoPrimChannelOperation::DestroyKey, VEX_GeoPrimChannelOperation::Clear, VEX_GeoPrimChannelOperation::SetKeyValue,
  VEX_GeoPrimChannelOperation::SetKeySlope, VEX_GeoPrimChannelOperation::SetKeyAccel, VEX_GeoPrimChannelOperation::Invalid
}
 
enum  VEX_GeoPrimChannelKeyHalf { VEX_GeoPrimChannelKeyHalf::In, VEX_GeoPrimChannelKeyHalf::Out, VEX_GeoPrimChannelKeyHalf::InOut }
 

Functions

VEX_API VEX_GeoMode VEX_Geo::modeFromString (const char *)
 
VEX_API VEX_GeoPrimType VEX_Geo::typeFromString (const char *)
 
VEX_API VEX_GeoDictType VEX_Geo::dictFromString (const char *)
 
VEX_API VEX_GeoTypeInfo VEX_Geo::typeinfoFromString (const char *)
 
VEX_API std::size_t hash_value (const VEX_AttribEditId &id)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_32, VEXint< VEX_32 >, VEXint< VEX_32 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_32, UT_StringHolder, VEXint< VEX_32 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_32, UT_OptionsHolder, VEXint< VEX_32 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_GeoEdgeGroupEdit< VEX_32 >)
 
 VEX_EXTERN_TEMPLATE (VEX_GeoCommandQueue< VEX_32 >)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_64, VEXint< VEX_64 >, VEXint< VEX_64 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_64, UT_StringHolder, VEXint< VEX_64 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_AttribEdit< VEX_64, UT_OptionsHolder, VEXint< VEX_64 >>)
 
 VEX_EXTERN_TEMPLATE (VEX_GeoEdgeGroupEdit< VEX_64 >)
 
 VEX_EXTERN_TEMPLATE (VEX_GeoCommandQueue< VEX_64 >)
 

Macro Definition Documentation

#define VEX_GEOATTRIBEDIT_CASE (   vtype,
  type,
  name,
  isarray 
)
Value:
name##Cmd() \
{\
if (myType == vtype && myIsArray == isarray)\
return nullptr;\
}
GLuint const GLchar * name
Definition: glcorearb.h:786
if(num_boxed_items<=0)
Definition: UT_RTreeImpl.h:697

Definition at line 693 of file VEX_GeoCommand.h.

#define VEX_GEOATTRIBEDIT_CASE_ARRAY (   ty,
  name 
)    VEX_GEOATTRIBEDIT_CASE(VEX_VexTypeResolver<VEX##ty<PREC>>::type,const UT_Array<VEX##ty<PREC>>*,name,true)

Definition at line 703 of file VEX_GeoCommand.h.

#define VEX_GEOATTRIBEDIT_CASE_DIRECT (   ty,
  name 
)    VEX_GEOATTRIBEDIT_CASE(VEX_VexTypeResolver<VEX##ty<PREC>>::type,VEX##ty<PREC>,name,false)

Definition at line 701 of file VEX_GeoCommand.h.

Typedef Documentation

template<VEX_Precision PREC>
using VEX_GeoAttribEdit = VEX_AttribEdit<PREC, VEXint<PREC>, VEXint<PREC>>

Definition at line 805 of file VEX_GeoCommand.h.

template<VEX_Precision PREC, typename T >
using VEX_GeoCommandAttribEdit = VEX_DataCommandAttribEdit<PREC, VEXint<PREC>, VEXint<PREC>, T>

Definition at line 267 of file VEX_GeoCommand.h.

template<VEX_Precision PREC, typename T >
using VEX_UsdCommandAttribEdit = VEX_DataCommandAttribEdit<PREC, UT_StringHolder, VEXint<PREC>, T>

Definition at line 270 of file VEX_GeoCommand.h.

template<VEX_Precision PREC>
using VEX_UsdEdit = VEX_AttribEdit<PREC, UT_StringHolder, VEXint<PREC>>

Definition at line 807 of file VEX_GeoCommand.h.

Enumeration Type Documentation

enum VEX_GeoDictType
strong
Enumerator
DETAIL 
DETAILINTRINSIC 
PRIM 
PRIMINTRINSIC 
PRIMGROUP 
POINT 
POINTGROUP 
VERTEX 
VERTEXGROUP 
INVALID 

Definition at line 60 of file VEX_GeoCommand.h.

enum VEX_GeoMode
strong
Enumerator
SET 
ADD 
MAX 
MIN 
MULTIPLY 
TOGGLE 
APPEND 
INVALID 

Definition at line 31 of file VEX_GeoCommand.h.

Enumerator
In 
Out 
InOut 

Definition at line 104 of file VEX_GeoCommand.h.

Enumerator
InsertKey 
DestroyKey 
Clear 
SetKeyValue 
SetKeySlope 
SetKeyAccel 
Invalid 

Definition at line 91 of file VEX_GeoCommand.h.

enum VEX_GeoPrimType
strong
Enumerator
POLY_OPEN 
POLY_CLOSED 
TET 
SPHERE 
CIRCLE 
TUBE 
METABALL 
METASQUAD 
PACKEDALEMBIC 
PACKEDDISK 
HEX 
CHANNEL 
INVALID 

Definition at line 43 of file VEX_GeoCommand.h.

enum VEX_GeoTypeInfo
strong
Enumerator
NOCHANGE 
NONE 
POINT 
HPOINT 
VECTOR 
NORMAL 
COLOR 
TRANSFORM 
QUATERNION 
INDEXPAIR 
NONARITHMETIC_INTEGER 
ARITHMETIC_INTEGER 
TEXTURE_COORD 

Definition at line 74 of file VEX_GeoCommand.h.

Function Documentation

VEX_API std::size_t hash_value ( const VEX_AttribEditId id)
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_32, VEXint< VEX_32 >, VEXint< VEX_32 >>  )
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_32, UT_StringHolder, VEXint< VEX_32 >>  )
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_32, UT_OptionsHolder, VEXint< VEX_32 >>  )
VEX_EXTERN_TEMPLATE ( VEX_GeoEdgeGroupEdit< VEX_32 >  )
VEX_EXTERN_TEMPLATE ( VEX_GeoCommandQueue< VEX_32 >  )
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_64, VEXint< VEX_64 >, VEXint< VEX_64 >>  )
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_64, UT_StringHolder, VEXint< VEX_64 >>  )
VEX_EXTERN_TEMPLATE ( VEX_AttribEdit< VEX_64, UT_OptionsHolder, VEXint< VEX_64 >>  )
VEX_EXTERN_TEMPLATE ( VEX_GeoEdgeGroupEdit< VEX_64 >  )
VEX_EXTERN_TEMPLATE ( VEX_GeoCommandQueue< VEX_64 >  )