NvParameterized classes. More...
#include "foundation/PxVec2.h"
#include "foundation/PxVec3.h"
#include "foundation/PxVec4.h"
#include "foundation/PxQuat.h"
#include "foundation/PxBounds3.h"
#include "foundation/PxMat44.h"
#include <stdio.h>
#include <stdarg.h>
#include <new>
#include "NvParameterized.inl"
Go to the source code of this file.
Classes | |
class | NvParameterized::Hint |
Provides hints about the parameter definition. More... | |
class | NvParameterized::Definition |
Provides information about a parameter. More... | |
class | NvParameterized::Handle |
Provides access to individual parameters within the NvParameterized object. More... | |
class | NvParameterized::SerializationCallback |
A callback class for notification just prior to serialization. More... | |
class | NvParameterized::Interface |
Represents the interface to the NvParameterized object. More... | |
Namespaces | |
namespace | NvParameterized |
NvParameterized namespace. | |
Enumerations | |
enum | NvParameterized::ErrorType { ERROR_NONE = 0, ERROR_TYPE_NOT_SUPPORTED, ERROR_INDEX_OUT_OF_RANGE, ERROR_INVALID_PARAMETER_NAME, ERROR_INVALID_PARAMETER_HANDLE, ERROR_CAST_FAILED, ERROR_INVALID_ENUM_VAL, ERROR_SYNTAX_ERROR_IN_NAME, ERROR_IS_LEAF_NODE, ERROR_RESULT_BUFFER_OVERFLOW, ERROR_NAME_DOES_NOT_MATCH_DEFINITION, ERROR_NOT_AN_ARRAY, ERROR_ARRAY_SIZE_IS_FIXED, ERROR_ARRAY_RESIZING_IS_NOT_SUPPORTED, ERROR_ARRAY_IS_TOO_SMALL, ERROR_INVALID_ARRAY_DIMENSION, ERROR_INVALID_ARRAY_SIZE, ERROR_PARAMETER_HANDLE_DOES_NOT_MATCH_CLASS, ERROR_MEMORY_ALLOCATION_FAILURE, ERROR_INVALID_REFERENCE_INCLUDE_HINT, ERROR_INVALID_REFERENCE_VALUE, ERROR_PARAMETER_HANDLE_NOT_INITIALIZED, ERROR_PARAMETER_DEFINITIONS_DO_NOT_MATCH, ERROR_HANDLE_MISSING_INTERFACE_POINTER, ERROR_HANDLE_INVALID_INTERFACE_POINTER, ERROR_INVALID_CALL_ON_NAMED_REFERENCE, ERROR_NOT_IMPLEMENTED, ERROR_OBJECT_CONSTRUCTION_FAILED, ERROR_MODIFY_CONST_HANDLE } |
Various errors that may be returned from NvParameterized calls. | |
enum | NvParameterized::DataType { TYPE_UNDEFINED = 0, NvParameterized::TYPE_ARRAY = 1, TYPE_STRUCT = 2, TYPE_BOOL = 3, NvParameterized::TYPE_STRING = 4, NvParameterized::TYPE_ENUM = 5, NvParameterized::TYPE_REF = 6, TYPE_I8 = 7, TYPE_I16 = 8, TYPE_I32 = 9, TYPE_I64 = 10, TYPE_U8 = 11, TYPE_U16 = 12, TYPE_U32 = 13, TYPE_U64 = 14, TYPE_F32 = 15, TYPE_F64 = 16, TYPE_VEC2 = 17, TYPE_VEC3 = 18, TYPE_VEC4 = 19, TYPE_QUAT = 20, TYPE_MAT33 = 21, TYPE_BOUNDS3 = 23, TYPE_MAT44 = 24, TYPE_POINTER = 25, TYPE_TRANSFORM = 26, TYPE_MAT34 = 27, TYPE_LAST } |
These types are supported in NvParameterized schemas. More... |
NvParameterized classes.
APEX uses a framework called NvParameterized for storing asset and actor data. NvParameterized classes provide reflection on every parameter they include making it effective for serialization and auto-generation of user interfaces for tools.
NvParameterized stores data in C++ classes which are auto-generated from their descriptions written in a special domain specific language (DSL). Description files contain information on internal layout and various high-level metadata of corresponding classes and their members. All generated classes implement special interface for run time reflection and modification of data.