VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
rigidBodyComponent.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2025-2026 Arnis Lektauers
3#pragma once
4
5#include <algorithm>
6#include <string>
7#include <vector>
8
10
11namespace visutwin::canvas
12{
14
21
23 {
24 public:
26 ~RigidBodyComponent() override;
27
28 void initializeComponentData() override {}
29
30 static const std::vector<RigidBodyComponent*>& instances() { return _instances; }
31
32 RigidBodyType type() const { return _type; }
33 void setType(const RigidBodyType type) { _type = type; }
34 void setType(const std::string& type);
35
37
38 private:
39 inline static std::vector<RigidBodyComponent*> _instances;
41 };
42}
Entity * entity() const
Definition component.cpp:16
Component(IComponentSystem *system, Entity *entity)
Definition component.cpp:12
IComponentSystem * system() const
Definition component.h:47
ECS entity — a GraphNode that hosts components defining its behavior.
Definition entity.h:32
void setType(const RigidBodyType type)
static const std::vector< RigidBodyComponent * > & instances()
RigidBodyComponent(IComponentSystem *system, Entity *entity)
CollisionComponent * collision() const