TypedPropertyTraits.h File Reference
`#include <Alembic/Abc/Foundation.h>`
Include dependency graph for TypedPropertyTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

namespace | Alembic
| Alembic namespace ...
namespace | Alembic::Abc
namespace | Alembic::Abc::ALEMBIC_VERSION_NS

## Macros

#define | ALEMBIC_ABC_DECLARE_TYPE_TRAITS(VAL, POD, EXTENT, INTERP, PTDEF)
#define | DECLARE_POD_TRAITS(POD_TYPE, PTDEF)

## Functions

| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (bool_t, BooleanTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (uint8_t, Uint8TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (int8_t, Int8TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (uint16_t, Uint16TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (int16_t, Int16TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (uint32_t, Uint32TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (int32_t, Int32TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (uint64_t, Uint64TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (int64_t, Int64TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (float16_t, Float16TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (float32_t, Float32TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (float64_t, Float64TPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (string, StringTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::DECLARE_POD_TRAITS (wstring, WstringTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2s, kInt16POD, 2, "vector", V2sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2i, kInt32POD, 2, "vector", V2iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2f, kFloat32POD, 2, "vector", V2fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2d, kFloat64POD, 2, "vector", V2dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3s, kInt16POD, 3, "vector", V3sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3i, kInt32POD, 3, "vector", V3iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3f, kFloat32POD, 3, "vector", V3fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3d, kFloat64POD, 3, "vector", V3dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2s, kInt16POD, 2, "point", P2sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2i, kInt32POD, 2, "point", P2iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2f, kFloat32POD, 2, "point", P2fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2d, kFloat64POD, 2, "point", P2dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3s, kInt16POD, 3, "point", P3sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3i, kInt32POD, 3, "point", P3iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3f, kFloat32POD, 3, "point", P3fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V3d, kFloat64POD, 3, "point", P3dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box2s, kInt16POD, 4, "box", Box2sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box2i, kInt32POD, 4, "box", Box2iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box2f, kFloat32POD, 4, "box", Box2fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box2d, kFloat64POD, 4, "box", Box2dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box3s, kInt16POD, 6, "box", Box3sTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box3i, kInt32POD, 6, "box", Box3iTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box3f, kFloat32POD, 6, "box", Box3fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Box3d, kFloat64POD, 6, "box", Box3dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (M33f, kFloat32POD, 9, "matrix", M33fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (M33d, kFloat64POD, 9, "matrix", M33dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (M44f, kFloat32POD, 16, "matrix", M44fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (M44d, kFloat64POD, 16, "matrix", M44dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Quatf, kFloat32POD, 4, "quat", QuatfTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (Quatd, kFloat64POD, 4, "quat", QuatdTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C3h, kFloat16POD, 3, "rgb", C3hTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C3f, kFloat32POD, 3, "rgb", C3fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C3c, kUint8POD, 3, "rgb", C3cTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C4h, kFloat16POD, 4, "rgba", C4hTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C4f, kFloat32POD, 4, "rgba", C4fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (C4c, kUint8POD, 4, "rgba", C4cTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2f, kFloat32POD, 2, "normal", N2fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (V2d, kFloat64POD, 2, "normal", N2dTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (N3f, kFloat32POD, 3, "normal", N3fTPTraits)
| Alembic::Abc::ALEMBIC_VERSION_NS::ALEMBIC_ABC_DECLARE_TYPE_TRAITS (N3d, kFloat64POD, 3, "normal", N3dTPTraits)

## Macro Definition Documentation

## ALEMBIC_ABC_DECLARE_TYPE_TRAITS

#define ALEMBIC_ABC_DECLARE_TYPE_TRAITS | ( |  | VAL,
|  |  | POD,
|  |  | EXTENT,
|  |  | INTERP,
|  |  | PTDEF
| ) |  |

Value:
struct PTDEF \
{ \
static const PlainOldDataType pod_enum = POD; \
static const int extent = EXTENT; \
typedef VAL value_type; \
static const char * interpretation() { return ( INTERP ) ; } \
static const char * name() { return #PTDEF; } \
static AbcA::DataType dataType() \
{ return AbcA::DataType( POD, EXTENT ) ; } \
static value_type defaultValue() \
{ value_type v; return v; } \
}
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::DataType
Definition: DataType.h:52
Alembic::Util::ALEMBIC_VERSION_NS::PlainOldDataType
PlainOldDataType
Definition: PlainOldDataType.h:184

Definition at line 54 of file TypedPropertyTraits.h.

## DECLARE_POD_TRAITS

#define DECLARE_POD_TRAITS | ( |  | POD_TYPE,
|  |  | PTDEF
| ) |  |

Value:
struct PTDEF \
{ \
static const PlainOldDataType pod_enum = \
PODTraitsFromType< POD_TYPE >::pod_enum; \
static const int extent = 1; \
typedef POD_TYPE value_type; \
static const char * interpretation() { return ""; } \
static const char * name() { return #PTDEF; } \
static AbcA::DataType dataType() \
{ return AbcA::DataType( PODTraitsFromType< POD_TYPE >::pod_enum, 1 ); } \
static value_type defaultValue() \
{ return PODTraitsFromType< POD_TYPE >::default_value(); } \
}

Definition at line 70 of file TypedPropertyTraits.h.