15 #ifndef CORGI_COMPONENT_LIBRARY_TRANSFORM_H_
16 #define CORGI_COMPONENT_LIBRARY_TRANSFORM_H_
22 #include "fplutil/intrusive_list.h"
23 #include "library_components_generated.h"
24 #include "mathfu/constants.h"
25 #include "mathfu/glsl_mappings.h"
26 #include "mathfu/matrix_4x4.h"
29 namespace component_library {
50 position = std::move(other.position);
51 scale = std::move(other.scale);
54 owner = std::move(other.owner);
55 parent = std::move(other.parent);
59 children = std::move(other.children);
68 *
this = std::move(other);
115 mathfu::vec4 c0 = mathfu::vec4(rot[0], rot[3], rot[6], 0);
116 mathfu::vec4 c1 = mathfu::vec4(rot[1], rot[4], rot[7], 0);
117 mathfu::vec4 c2 = mathfu::vec4(rot[2], rot[5], rot[8], 0);
118 mathfu::vec4 c3 = mathfu::vec4(0, 0, 0, 1);
131 return mathfu::mat4(c0, c1, c2, c3);
272 size_t num_ids)
const;
276 const mathfu::mat4& transform);
286 #endif // CORGI_COMPONENT_LIBRARY_TRANSFORM_H_
std::unique_ptr< uint8_t, std::function< void(uint8_t *)> > RawDataUniquePtr
A pointer type for exported raw data.
Definition: component_interface.h:63
A Component is an object that encapsulates all data and logic for Entities of a particular type...
Definition: component.h:43
int WorldTime
A typedef that represents time in the game.
Definition: entity_common.h:49
A reference object for pointing into the vector pool. It acts as a pointer for vector pool elements a...
Definition: vector_pool.h:72
#define CORGI_REGISTER_COMPONENT(ComponentType, DataType)
Definition: component_id_lookup.h:48
uint16_t ComponentId
This represents the ID of a Component.
Definition: entity_common.h:36