4 * Copyright (c) 2023 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or adaptoried.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
22 #include <dali-physics/internal/physics-adaptor-impl.h>
24 namespace Dali::Toolkit::Physics::Internal
26 class ChipmunkPhysicsAdaptor : public PhysicsAdaptor
29 ChipmunkPhysicsAdaptor();
32 * A reference counted object may only be deleted by calling Unreference()
34 ~ChipmunkPhysicsAdaptor() override;
36 // Remove copy constructor and copy assignment
37 ChipmunkPhysicsAdaptor(const PhysicsAdaptor& handle) = delete;
38 ChipmunkPhysicsAdaptor& operator=(const PhysicsAdaptor& handle) = delete;
41 * 2nd stage initialization
43 void OnInitialize(const Dali::Matrix& transform, Uint16Pair size) override;
46 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::CreateDebugLayer
48 Dali::Layer CreateDebugLayer(Dali::Window window) override;
51 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::SetTransformAndSize
53 void SetTransformAndSize(const Dali::Matrix& transform, Uint16Pair size) override;
56 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::TranslateToPhysicsSpace
58 Dali::Vector3 TranslateToPhysicsSpace(Dali::Vector3 vector) const override;
61 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::TranslateToPhysicsSpace
63 Dali::Quaternion TranslateToPhysicsSpace(Dali::Quaternion rotation) const override;
66 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::TranslateFromPhysicsSpace
68 Dali::Vector3 TranslateFromPhysicsSpace(Dali::Vector3 vector) const override;
71 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::TranslateFromPhysicsSpace
73 Dali::Quaternion TranslateFromPhysicsSpace(Quaternion rotation) const override;
76 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::ConvertVectorToPhysicsSpace
78 Dali::Vector3 ConvertVectorToPhysicsSpace(Dali::Vector3 vector) const override;
81 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::ConvertVectorFromPhysicsSpace
83 Dali::Vector3 ConvertVectorFromPhysicsSpace(Dali::Vector3 vector) const override;
86 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::AddActorBody
88 PhysicsActorPtr AddActorBody(Dali::Actor actor, Dali::Any body) override;
91 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::RemoveActorBody
93 void RemoveActorBody(PhysicsActor& physicsActor) override;
96 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::GetPhysicsActor
98 PhysicsActorPtr GetPhysicsActor(Dali::Any body) const override;
101 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::BuildPickingRay
103 void BuildPickingRay(Dali::Vector3 origin, Dali::Vector3 direction, Dali::Vector3& rayFromWorld, Dali::Vector3& rayToWorld) override;
106 * @copydoc Dali::Toolkit::Physics::PhysicsAdaptor::ProjectPoint
108 Dali::Vector3 ProjectPoint(Dali::Vector3 origin, Dali::Vector3 direction, float distance) override;
112 // Physics world owns debug renderer
115 } // namespace Dali::Toolkit::Physics::Internal