NvParameterized_types.h
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
00027  
00034 // NV_PARAMETERIZED_TYPE(type_name, enum_name, c_type)
00035 
00036 #if PX_VC && !PX_PS4
00037     #pragma warning(push)
00038     #pragma warning(disable:4555)
00039 #endif  //!PX_PS4
00040 
00041 PX_PUSH_PACK_DEFAULT
00042 
00043 #ifndef NV_PARAMETERIZED_TYPES_ONLY_SIMPLE_TYPES
00044 #ifndef NV_PARAMETERIZED_TYPES_ONLY_SCALAR_TYPES
00045 NV_PARAMETERIZED_TYPE(Array, ARRAY, void *)
00046 NV_PARAMETERIZED_TYPE(Struct, STRUCT, void *)
00047 NV_PARAMETERIZED_TYPE(Ref, REF, NvParameterized::Interface *)
00048 #endif
00049 #endif
00050 
00051 #ifndef NV_PARAMETERIZED_TYPES_NO_STRING_TYPES
00052 #ifndef NV_PARAMETERIZED_TYPES_ONLY_SCALAR_TYPES
00053 NV_PARAMETERIZED_TYPE(String, STRING, const char *)
00054 NV_PARAMETERIZED_TYPE(Enum, ENUM, const char *)
00055 #endif
00056 #endif
00057 
00058 NV_PARAMETERIZED_TYPE(Bool, BOOL, bool)
00059 
00060 NV_PARAMETERIZED_TYPE(I8,  I8,  int8_t)
00061 NV_PARAMETERIZED_TYPE(I16, I16, int16_t)
00062 NV_PARAMETERIZED_TYPE(I32, I32, int32_t)
00063 NV_PARAMETERIZED_TYPE(I64, I64, int64_t)
00064 
00065 NV_PARAMETERIZED_TYPE(U8,  U8,  uint8_t)
00066 NV_PARAMETERIZED_TYPE(U16, U16, uint16_t)
00067 NV_PARAMETERIZED_TYPE(U32, U32, uint32_t)
00068 NV_PARAMETERIZED_TYPE(U64, U64, uint64_t)
00069 
00070 NV_PARAMETERIZED_TYPE(F32, F32, float)
00071 NV_PARAMETERIZED_TYPE(F64, F64, double)
00072 
00073 #ifndef NV_PARAMETERIZED_TYPES_ONLY_SCALAR_TYPES
00074 NV_PARAMETERIZED_TYPE(Vec2,      VEC2,      physx::PxVec2)
00075 NV_PARAMETERIZED_TYPE(Vec3,      VEC3,      physx::PxVec3)
00076 NV_PARAMETERIZED_TYPE(Vec4,      VEC4,      physx::PxVec4)
00077 NV_PARAMETERIZED_TYPE(Quat,      QUAT,      physx::PxQuat)
00078 NV_PARAMETERIZED_TYPE(Bounds3,   BOUNDS3,   physx::PxBounds3)
00079 NV_PARAMETERIZED_TYPE(Mat33,     MAT33,     physx::PxMat33)
00080 NV_PARAMETERIZED_TYPE(Mat44,     MAT44,     physx::PxMat44)
00081 NV_PARAMETERIZED_TYPE(Transform, TRANSFORM, physx::PxTransform)
00082 #endif
00083 
00084 
00085 #ifdef NV_PARAMETERIZED_TYPES_ONLY_SIMPLE_TYPES
00086 #   undef NV_PARAMETERIZED_TYPES_ONLY_SIMPLE_TYPES
00087 #endif
00088 
00089 #ifdef NV_PARAMETERIZED_TYPES_NO_STRING_TYPES
00090 #   undef NV_PARAMETERIZED_TYPES_NO_STRING_TYPES
00091 #endif
00092 
00093 #ifdef NV_PARAMETERIZED_TYPES_ONLY_SCALAR_TYPES
00094 #   undef NV_PARAMETERIZED_TYPES_ONLY_SCALAR_TYPES
00095 #endif
00096 
00097 #ifdef NV_PARAMETERIZED_TYPES_NO_LEGACY_TYPES
00098 #   undef NV_PARAMETERIZED_TYPES_NO_LEGACY_TYPES
00099 #endif
00100 
00101 #if PX_VC && !PX_PS4
00102     #pragma warning(pop)
00103 #endif  //!PX_PS4
00104 
00105 PX_POP_PACK
00106 
00107 #undef NV_PARAMETERIZED_TYPE

Generated on Sat Dec 1 2018 15:52:05

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