Added debug renderer for Chipmunk
[platform/core/uifw/dali-toolkit.git] / dali-physics / internal / chipmunk-impl / chipmunk-physics-world-impl.h
index 4f7b2d6..10ba5e8 100644 (file)
@@ -19,6 +19,7 @@
 #include <dali-physics/internal/physics-world-impl.h>
 
 #include <chipmunk/chipmunk.h>
+#include <dali-physics/internal/chipmunk-impl/chipmunk-physics-debug-renderer.h>
 #include <memory>
 
 namespace Dali::Toolkit::Physics::Internal
@@ -37,10 +38,29 @@ public:
 
   void Integrate(float timestep) override;
 
-  Dali::Any HitTest(Dali::Vector3 rayFromWorld, Dali::Vector3 rayToWorld, Dali::Vector3& localPivot, float& distanceFromCamera) override;
+  Dali::Any HitTest(Dali::Vector3 rayFromWorld, Dali::Vector3 rayToWorld, Dali::Any nativeFilter, Dali::Vector3& localPivot, float& distanceFromCamera) override;
+
+  /**
+   * Set the debug renderer. PhysicsWorld will take ownership
+   */
+  void SetDebugRenderer(PhysicsDebugRenderer* renderer)
+  {
+    mDebugRenderer.reset(renderer);
+  }
+
+  PhysicsDebugRenderer& GetDebugRenderer()
+  {
+    return *mDebugRenderer.get();
+  }
+
+  bool HasDebugRenderer()
+  {
+    return mDebugRenderer.get() != nullptr;
+  }
 
 private:
-  cpSpace* mSpace;
+  cpSpace*                              mSpace{nullptr};
+  std::unique_ptr<PhysicsDebugRenderer> mDebugRenderer;
 };
 
 } //namespace Dali::Toolkit::Physics::Internal