PxDefaultSimulationFilterShader.h
Go to the documentation of this file.
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_EXTENSIONS_DEFAULTSIMULATIONFILTERSHADER_H
15 #define PX_PHYSICS_EXTENSIONS_DEFAULTSIMULATIONFILTERSHADER_H
16 
20 #include "PxPhysXConfig.h"
21 
22 #include "PxFiltering.h"
23 
24 #ifndef PX_DOXYGEN
25 namespace physx
26 {
27 #endif
28 
29 class PxActor;
30 
54 {
55 public:
56  PX_INLINE PxGroupsMask():bits0(0),bits1(0),bits2(0),bits3(0) {}
58 
59  PxU16 bits0, bits1, bits2, bits3;
60 };
61 
67 struct PxFilterOp
68 {
69  enum Enum
70  {
77  PX_FILTEROP_SWAP_AND
78  };
79 };
80 
100  PxFilterObjectAttributes attributes0,
101  PxFilterData filterData0,
102  PxFilterObjectAttributes attributes1,
103  PxFilterData filterData1,
104  PxPairFlags& pairFlags,
105  const void* constantBlock,
106  PxU32 constantBlockSize);
107 
120 bool PxGetGroupCollisionFlag(const PxU16 group1, const PxU16 group2);
121 
133 void PxSetGroupCollisionFlag(const PxU16 group1, const PxU16 group2, const bool enable);
134 
146 PxU16 PxGetGroup(const PxActor& actor);
147 
158 void PxSetGroup(PxActor& actor, const PxU16 collisionGroup);
159 
172 
182 void PxSetFilterOps(const PxFilterOp::Enum& op0, const PxFilterOp::Enum& op1, const PxFilterOp::Enum& op2);
183 
191 bool PxGetFilterBool();
192 
200 void PxSetFilterBool(const bool enable);
201 
210 
219 void PxSetFilterConstants(const PxGroupsMask& c0, const PxGroupsMask& c1);
220 
230 PxGroupsMask PxGetGroupsMask(const PxActor& actor);
231 
240 void PxSetGroupsMask(PxActor& actor, const PxGroupsMask& mask);
241 
242 #ifndef PX_DOXYGEN
243 } // namespace physx
244 #endif
245 
247 #endif


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com