APEX Framework: NvParameterized.h File Reference

NVIDIA APEX

NvParameterized.h File Reference

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...

Detailed Description

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.


Generated on Fri Dec 15 2017 13:58:35

Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.