mesh_attribute_base.h File Reference

Classes

class  CustomDataTagDisplayInterface
 
class  MeshAttributeClassInterface
 
class  CustomDataTagClassInterface
 
class  MeshAttribute
 

Namespaces

 maxon
 
 maxon::CustomDataTagClasses
 
 maxon::CustomDataTagDisplayClasses
 

Macros

#define MAXON_MESHATTRIBUTE(T, Name)
 
#define MAXON_CUSTOMDATATAG(pluginID, name, resurceID, displayID, level, floatValueCount, flags, attributeType)
 

Functions

 MAXON_REGISTRY (CustomDataTagClass, CustomDataTagClasses, "net.maxon.mesh_misc.registry.customdatatagclasses")
 
 MAXON_REGISTRY (Class< CustomDataTagDisplayRef >, CustomDataTagDisplayClasses, "net.maxon.mesh_misc.registry.customdatatagdisplayclasses")
 
 MAXON_DATATYPE (MeshAttribute, "net.maxon.mesh_misc.datatype.meshattribute")
 

Macro Definition Documentation

◆ MAXON_MESHATTRIBUTE

#define MAXON_MESHATTRIBUTE (   T,
  Name 
)

A compatible datatype must be defined for each MeshAttributeClassInterface. This macro automatically generates a compatible data type out of the passed T. After this macro call, it is also necessary to declare and register the resulting DataType using MAXON_DATATYPE and MAXON_DATATYPE_REGISTER. MAXON_DATATYPE must be invoked by using as a name the passed name followed by _MESHATTRIBUTE.

Parameters
[in]TThe type to register.
[in]NameThe name to be used for the registration.

In the header file:

namespace maxon
{
MAXON_DATATYPE(VERTEXCOLOR_MESHATTRIBUTE, "net.maxon.meshattribute.vertexcolor");
}
Col4< Float32, 1 > ColorA32
Definition: vector4d.h:52
The maxon namespace contains all declarations of the MAXON API.
Definition: autoweight.h:14
MAXON_DATATYPE(AssetDatabaseStruct, "net.maxon.datatype.assetdatabasestruct")
MAXON_MESHATTRIBUTE(PolygroupInformation, POLYGROUP)
Declaration of the new MeshAttribute.

in the source file:

namespace maxon
{
MAXON_DATATYPE_REGISTER(VERTEXCOLOR_MESHATTRIBUTE);
}
#define MAXON_DATATYPE_REGISTER(type)
Definition: datatype.h:336

◆ MAXON_CUSTOMDATATAG

#define MAXON_CUSTOMDATATAG (   pluginID,
  name,
  resurceID,
  displayID,
  level,
  floatValueCount,
  flags,
  attributeType 
)

This macro simplifies the process of describing the CustomDataTag information used for registration. This macro implements many of the CustomDataTagClassInterface methods automatically.

Parameters
[in]pluginIDAn unique plugin id used to register the CustomDataTag.
[in]nameThe CustomDataTag name.
[in]resurceIDThe resource id string.
[in]displayIDThe display implementation id. See CustomDataTagDisplay.
[in]levelThe disk level for the CustomDataTag.
[in]floatValueCountThe count of values used for each entry; e.g. a vector will have a floatSize = 3, this is needed to define if the tag is compatible with sds. If it is not compatible (no float based data type) pass NOTOK.
[in]flagsTag registration flags.
[in]attributeTypeThe mesh attribute type name.