| 1234567891011121314151617181920212223242526272829303132333435363738 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsCorePrerequisites.h"
- #include "BsResource.h"
- namespace BansheeEngine
- {
- class BS_CORE_EXPORT PhysicsMesh : public Resource
- {
- public:
- PhysicsMesh(const MeshDataPtr& meshData, PhysicsMeshType type);
- virtual ~PhysicsMesh() { }
- PhysicsMeshType getType() const { return mType; }
- virtual MeshDataPtr getMeshData() const = 0;
- static HPhysicsMesh create(const MeshDataPtr& meshData, PhysicsMeshType type = PhysicsMeshType::Convex);
- static PhysicsMeshPtr _createPtr(const MeshDataPtr& meshData, PhysicsMeshType type);
- protected:
- /** @copydoc PhysicsMesh::initialize() */
- void initialize() override;
- PhysicsMeshType mType;
- MeshDataPtr mInitMeshData; // Transient, only used during initalization
- /************************************************************************/
- /* SERIALIZATION */
- /************************************************************************/
- public:
- friend class PhysicsMeshRTTI;
- static RTTITypeBase* getRTTIStatic();
- RTTITypeBase* getRTTI() const override;
- };
- }
|