class
StructureStructure spec for validation.
Contents
Example usage (excerpt from OpenGEX specification of Texture
structure):
{Texture, // Requiring string attrib property, optional integer texcoord property Properties{{attrib, PropertyType::String, RequiredProperty}, {texcoord, PropertyType::UnsignedInt, OptionalProperty}}, // Requiring exactly one primitive substructure with exactly one string // value for filename Primitives{Type::String}, 1, 1, // There can be any number of Transform, Translation, Rotation, Scale and // Animation substructures Structures{{Transform, {}}, {Translation, {}}, {Rotation, {}}, {Scale, {}}, {Animation, {}}}}
Constructors, destructors, conversion operators
-
Structure(Int identifier,
Properties properties,
Primitives primitives,
std::
size_t primitiveCount, std:: size_t primitiveArraySize, Structures structures = {}) - Constructor.
-
Structure(Int identifier,
Primitives primitives,
std::
size_t primitiveCount, std:: size_t primitiveArraySize, Structures structures = {}) - Structure(Int identifier, Properties properties, Structures structures = {})
- Structure(Int identifier, Structures structures = {})
Function documentation
Magnum:: OpenDdl:: Validation:: Structure:: Structure(Int identifier,
Properties properties,
Primitives primitives,
std:: size_t primitiveCount,
std:: size_t primitiveArraySize,
Structures structures = {})
Constructor.
Parameters | |
---|---|
identifier | Structure identifier |
properties | List of allowed properties |
primitives | List of allowed primitive types |
primitiveCount | Expected primitive sub-structure count |
primitiveArraySize | Expected primitive array size |
structures | List of allowed custom sub-structures |
Setting primitiveCount
to 0
means that there is no requirement on primitive array count. Setting primitiveArraySize
to 0
means that there is no requirement on primitive array size.
Magnum:: OpenDdl:: Validation:: Structure:: Structure(Int identifier,
Primitives primitives,
std:: size_t primitiveCount,
std:: size_t primitiveArraySize,
Structures structures = {})
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Magnum:: OpenDdl:: Validation:: Structure:: Structure(Int identifier,
Properties properties,
Structures structures = {})
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Magnum:: OpenDdl:: Validation:: Structure:: Structure(Int identifier,
Structures structures = {})
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.