aboutsummaryrefslogtreecommitdiff
path: root/KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h
diff options
context:
space:
mode:
Diffstat (limited to 'KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h')
-rw-r--r--KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h b/KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h
new file mode 100644
index 00000000..d709251c
--- /dev/null
+++ b/KaplaDemo/samples/sampleViewer3/SceneKaplaTower.h
@@ -0,0 +1,41 @@
+#ifndef SCENE_KAPLA_TOWER_H
+#define SCENE_KAPLA_TOWER_H
+
+#include "SceneKapla.h"
+
+using namespace physx;
+
+// ---------------------------------------------------------------------
+class SceneKaplaTower : public SceneKapla
+{
+public:
+ SceneKaplaTower(PxPhysics* pxPhysics, PxCooking *pxCooking, bool isGrb,
+ Shader *defaultShader, const char *resourcePath, float slowMotionFactor);
+
+ virtual ~SceneKaplaTower(){}
+
+ virtual void handleKeyDown(unsigned char key, int x, int y);
+
+ virtual void preSim(float dt);
+ virtual void postSim(float dt);
+
+ virtual void onInit(PxScene* pxScene);
+
+private:
+
+
+
+ void createGeometricTower(PxU32 height, PxU32 nbFacets, PxVec3 dims, PxVec3 startPos, PxReal startDensity, PxMaterial* material, ShaderMaterial& mat);
+ void createCommunicationWire(PxVec3 startPos, PxVec3 endPos,PxReal connectRadius, PxReal connectHeight, PxReal density, PxReal offset, PxRigidDynamic* startBody,
+ PxRigidDynamic* endBody, PxMaterial* material, ShaderMaterial& mat, PxQuat& rot);
+ void createTwistTower(PxU32 height, PxU32 nbBlocksPerLayer, PxVec3 dims, PxVec3 startPos, PxMaterial* material, ShaderMaterial& mat);
+ void createRectangularTower(PxU32 nbX, PxU32 nbZ, PxU32 height, PxVec3 dims, PxVec3 centerPos, PxMaterial* material, ShaderMaterial& mat);
+ //void createCylindricalTower(PxU32 nbRadialPoints, PxReal maxRadius, PxReal minRadius, PxU32 height, PxVec3 dims, PxVec3 centerPos, PxMaterial* material, ShaderMaterial& mat);
+
+ PxReal mAccumulatedTime;
+
+ bool hadInteraction;
+ PxU32 nbProjectiles;
+
+};
+#endif // SCENE_BOXES_H