1 #ifndef __DALI_PLUGIN_BULLET_DYNAMICS_DEBUG_H__
2 #define __DALI_PLUGIN_BULLET_DYNAMICS_DEBUG_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/integration-api/dynamics/dynamics-debug-vertex.h>
23 // TODO: Change this to use #pragma GCC diagnostic push / pop when the compiler is updated to 4.6.0+
24 #pragma GCC diagnostic ignored "-Wfloat-equal"
25 #include <btBulletDynamicsCommon.h>
26 #pragma GCC diagnostic error "-Wfloat-equal"
35 * Debug draw class, BulletPhysics engine will invoke methods on this object to render debug information.
36 * Debug lines are collated into a container and then rendered as a single array during Core::Render
38 class BulletDebugDraw : public btIDebugDraw
49 virtual ~BulletDebugDraw();
51 virtual void drawLine(const btVector3& from,const btVector3& to,const btVector3& color);
52 virtual void drawContactPoint(const btVector3& PointOnB,const btVector3& normalOnB,btScalar distance,int lifeTime,const btVector3& color);
53 virtual void reportErrorWarning(const char* warningString);
54 virtual void draw3dText(const btVector3& location,const char* textString);
55 virtual void setDebugMode(int debugMode);
56 virtual int getDebugMode() const;
59 const Integration::DynamicsDebugVertexContainer& GetVertices() const;
64 Integration::DynamicsDebugVertexContainer mVertices;
66 }; // class BulletDebugDraw
72 #endif /* __DALI_PLUGIN_BULLET_DYNAMICS_DEBUG_H__ */