PxAggregate.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_NX_AGGREGATE
15 #define PX_PHYSICS_NX_AGGREGATE
16 
21 #include "PxPhysXConfig.h"
22 #include "common/PxBase.h"
23 
24 
25 #ifndef PX_DOXYGEN
26 namespace physx
27 {
28 #endif
29 
30 class PxActor;
31 
51 class PxAggregate : public PxBase
52 {
53 public:
54 
63  virtual void release() = 0;
64 
79  virtual bool addActor(PxActor& actor) = 0;
80 
92  virtual bool removeActor(PxActor& actor) = 0;
93 
108  virtual bool addArticulation(PxArticulation& articulation) = 0;
109 
121  virtual bool removeArticulation(PxArticulation& articulation) = 0;
122 
132  virtual PxU32 getNbActors() const = 0;
133 
141  virtual PxU32 getMaxNbActors() const = 0;
142 
155  virtual PxU32 getActors(PxActor** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const = 0;
156 
164  virtual PxScene* getScene() = 0;
165 
171  virtual bool getSelfCollision() const = 0;
172 
173  virtual const char* getConcreteTypeName() const { return "PxAggregate"; }
174 
175 protected:
176  PX_INLINE PxAggregate(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
177  PX_INLINE PxAggregate(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
178  virtual ~PxAggregate() {}
179  virtual bool isKindOf(const char* name) const { return !strcmp("PxAggregate", name) || PxBase::isKindOf(name); }
180 };
181 
182 #ifndef PX_DOXYGEN
183 } // namespace physx
184 #endif
185 
187 #endif


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