Program Listing for File collision_model_resource_file.h

Return to documentation for file (rootex/core/resource_files/collision_model_resource_file.h)

#pragma once

#include "renderer/mesh.h"
#include "resource_file.h"

#include "btBulletCollisionCommon.h"

class CollisionModelResourceFile : public ResourceFile
{
    explicit CollisionModelResourceFile(const FilePath& path);

    btTriangleIndexVertexArray m_TriangleMesh;
    Vector<btIndexedMesh> m_Meshes;
    Vector<Vector3> m_Vertices;
    Vector<short> m_Indices;

    friend class ResourceLoader;

public:
    explicit CollisionModelResourceFile(const CollisionModelResourceFile&) = delete;
    explicit CollisionModelResourceFile(const CollisionModelResourceFile&&) = delete;
    ~CollisionModelResourceFile() = default;

    void reimport() override;

    btTriangleIndexVertexArray* getCollisionMesh() { return &m_TriangleMesh; }
};