1 | /* |
2 | * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. |
3 | * |
4 | * NVIDIA CORPORATION and its licensors retain all intellectual property |
5 | * and proprietary rights in and to this software, related documentation |
6 | * and any modifications thereto. Any use, reproduction, disclosure or |
7 | * distribution of this software and related documentation without an express |
8 | * license agreement from NVIDIA CORPORATION is strictly prohibited. |
9 | */ |
10 | // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved. |
11 | // Copyright (c) 2001-2004 NovodeX AG. All rights reserved. |
12 | |
13 | |
14 | #ifndef PX_PHYSICS_METADATA_FLAGS |
15 | #define PX_PHYSICS_METADATA_FLAGS |
16 | |
17 | #include "foundation/Px.h" |
18 | |
19 | #ifndef PX_DOXYGEN |
20 | namespace physx |
21 | { |
22 | #endif |
23 | |
24 | /** |
25 | \brief Flags used to configure binary meta data entries, typically set through PX_DEF_BIN_METADATA defines. |
26 | |
27 | @see PxMetaDataEntry |
28 | */ |
29 | struct PxMetaDataFlag |
30 | { |
31 | enum Enum |
32 | { |
33 | eCLASS = (1<<0), //!< declares a class |
34 | eVIRTUAL = (1<<1), //!< declares class to be virtual |
35 | eTYPEDEF = (1<<2), //!< declares a typedef |
36 | ePTR = (1<<3), //!< declares a pointer |
37 | = (1<<4), //!< declares extra data exported with PxSerializer::exportExtraData |
38 | = (1<<5), //!< specifies one element of extra data |
39 | = (1<<6), //!< specifies an array of extra data |
40 | = (1<<7), //!< specifies a name of extra data |
41 | eUNION = (1<<8), //!< declares a union |
42 | ePADDING = (1<<9), //!< declares explicit padding data |
43 | eALIGNMENT = (1<<10), //!< declares aligned data |
44 | eCOUNT_MASK_MSB = (1<<11), //!< specifies that the count value's most significant bit needs to be masked out |
45 | eCOUNT_SKIP_IF_ONE = (1<<12), //!< specifies that the count value is treated as zero for a variable value of one - special case for single triangle meshes |
46 | eCONTROL_FLIP = (1<<13), //!< specifies that the control value is the negate of the variable value |
47 | eCONTROL_MASK = (1<<14), //!< specifies that the control value is masked - mask bits are assumed to be within eCONTROL_MASK_RANGE |
48 | eCONTROL_MASK_RANGE = 0x000000FF, //!< mask range allowed for eCONTROL_MASK |
49 | eFORCE_DWORD = 0x7fffffff |
50 | }; |
51 | }; |
52 | |
53 | #ifndef PX_DOXYGEN |
54 | } |
55 | #endif |
56 | |
57 | #endif |
58 | |