// Copyright (c) 2008-2023 the Urho3D project // License: MIT #pragma once #ifdef URHO3D_PHYSICS2D #include "../Physics2D/CollisionChain2D.h" #include "../Physics2D/CollisionPolygon2D.h" #include "../Physics2D/PhysicsWorld2D.h" #include "../Physics2D/RigidBody2D.h" namespace Urho3D { // RigidBody2D* PhysicsRaycastResult2D::body_ | File: ../Urho2D/PhysicsWorld2D.h template RigidBody2D* PhysicsRaycastResult2D_GetBody(T* ptr) { return ptr->body_; } #define REGISTER_MEMBERS_MANUAL_PART_PhysicsRaycastResult2D() \ /* RigidBody2D* PhysicsRaycastResult2D::body_ | File: ../Urho2D/PhysicsWorld2D.h */ \ engine->RegisterObjectMethod(className, "RigidBody2D@+ get_body() const", AS_FUNCTION_OBJLAST(PhysicsRaycastResult2D_GetBody), AS_CALL_CDECL_OBJLAST); // ======================================================================================== // void PhysicsWorld2D::Raycast(Vector& results, const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h template CScriptArray* PhysicsWorld2D_Raycast(const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask, T* ptr) { Vector result; ptr->Raycast(result, startPoint, endPoint, collisionMask); return VectorToArray(result, "Array"); } // void PhysicsWorld2D::RaycastSingle(PhysicsRaycastResult2D& result, const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h template PhysicsRaycastResult2D PhysicsWorld2D_RaycastSingle(const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask, T* ptr) { PhysicsRaycastResult2D result; ptr->RaycastSingle(result, startPoint, endPoint, collisionMask); return result; } // void PhysicsWorld2D::GetRigidBodies(Vector& results, const Rect& aabb, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h template CScriptArray* PhysicsWorld2D_GetRigidBodies(const Rect& aabb, u16 collisionMask, T* ptr) { Vector results; ptr->GetRigidBodies(results, aabb, collisionMask); return VectorToHandleArray(results, "Array"); } #define REGISTER_MEMBERS_MANUAL_PART_PhysicsWorld2D() \ /* void PhysicsWorld2D::Raycast(Vector& results, const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h */ \ engine->RegisterObjectMethod(className, "Array@ Raycast(const Vector2&, const Vector2&, uint16 = 0xffff)", AS_FUNCTION_OBJLAST(PhysicsWorld2D_Raycast), AS_CALL_CDECL_OBJLAST); \ \ /* void PhysicsWorld2D::RaycastSingle(PhysicsRaycastResult2D& result, const Vector2& startPoint, const Vector2& endPoint, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h */ \ engine->RegisterObjectMethod(className, "PhysicsRaycastResult2D RaycastSingle(const Vector2&, const Vector2&, uint16 = 0xffff)", AS_FUNCTION_OBJLAST(PhysicsWorld2D_RaycastSingle), AS_CALL_CDECL_OBJLAST); \ \ /* void PhysicsWorld2D::GetRigidBodies(Vector& results, const Rect& aabb, u16 collisionMask = M_U16_MASK_ALL_BITS) | File: ../Physics2D/PhysicsWorld2D.h */ \ engine->RegisterObjectMethod(className, "Array@ GetRigidBodies(const Rect&in, uint16 = 0xffff)", AS_FUNCTION_OBJLAST(PhysicsWorld2D_GetRigidBodies), AS_CALL_CDECL_OBJLAST); } #endif // def URHO3D_PHYSICS2D