Cogs.Core
|
Public Member Functions | |
void | initialize (Context *context) |
void | update () |
void | updateChildren () |
![]() | |
class Entity * | getContainer () const |
Get the container currently owning this component instance. | |
void | setContainer (class Entity *container) |
Set the container owning this component instance. | |
template<typename ComponentType > | |
ComponentType * | getComponent () const |
COGSFOUNDATION_API Component * | getComponent (const Reflection::Name &name) const |
COGSFOUNDATION_API Component * | getComponent (const Reflection::TypeId &id) const |
template<typename ComponentType > | |
ComponentHandle | getComponentHandle () const |
COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::Name &name) const |
COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::TypeId &id) const |
void | setActive () |
Sets the component to the ComponentFlags::Active state. | |
bool | isActive () const |
Gets if the component is currently set to the ComponentFlags::Active state. | |
void | setChanged () |
Sets the component to the ComponentFlags::Changed state with carry. | |
void | setChangedTransient () |
Sets the component to the ComponentFlags::Changed state without carry. | |
void | setFieldChanged (const Reflection::FieldId fieldId) |
Sets the component to the ComponentFlags::Changed state without carry. | |
template<typename ClassType , typename FieldType > | |
void | setFieldChanged (FieldType ClassType::*field) |
Sets a flag indicating that the given field has changed. | |
void | setFieldChangedTransient (const Reflection::FieldId fieldId) |
Sets the component to the ComponentFlags::Changed state without carry. | |
bool | hasChanged () const |
bool | hasAnyfieldChanged () const |
Gets if any fields have been changed. | |
bool | hasFieldChanged (const Reflection::FieldId fieldId) const |
Gets if the field with the given id on this component instance has changed. | |
template<typename ClassType , typename FieldType > | |
bool | hasFieldChanged (FieldType ClassType::*field) const |
Gets if the given field has changed. | |
void | resetCarryChanged () |
Reset the CarryChanged flag. Called at start of redraw. See ComponentFlags::CarryChanged. | |
void | resetChanged () |
Resets the changed state of the component, respecting any carry state set. | |
template<typename ClassType , typename FieldType > | |
Reflection::FieldId | getFieldId (FieldType ClassType::*field) const |
Gets field ID of the given field. | |
void | resetFieldsChanged () |
Resets the state of all changed field flags. | |
void | resetFieldChanged (const Reflection::FieldId fieldId) |
Resets the changed state of the given fieldId. | |
template<typename ClassType , typename FieldType > | |
void | resetFieldChanged (FieldType ClassType::*field) |
Resets the changed state of the given field. | |
constexpr void | setFlags (const uint32_t flags) |
Override all flags of the Component, setting the given flags. | |
constexpr void | setFlag (const uint32_t flag) |
Set the given flags. Does not override the currently set flags. | |
constexpr void | unsetFlag (const uint32_t flag) |
Unset the given flag. Does not remove the status of other than the given flags. | |
constexpr bool | isSet (const uint32_t flag) const |
Checks if the given flag is set. Requires exact bit match if test of several bits. | |
constexpr void | setTypeId (const Reflection::TypeId typeId) |
Set the Reflection::TypeId of the component. | |
constexpr Reflection::TypeId | getTypeId () const |
Get the Reflection::TypeId of the component. | |
COGSFOUNDATION_API const Reflection::Type & | getType () const |
Get the full Reflection::Type of the component. | |
constexpr void | setIndex (const ComponentIndex index) |
Set the components pool index. For internal use only. | |
constexpr ComponentIndex | getIndex () const |
Get the components pool index. For internal use only. | |
constexpr void | setGeneration (uint16_t generation) |
Sets the component generation. | |
constexpr uint16_t | getGeneration () const |
Gets the component generation. | |
size_t | hash (size_t hashValue=Cogs::hash()) const |
Calculates a hash of this component's members. | |
Static Public Member Functions | |
static void | registerType () |
![]() | |
static COGSCORE_DLL_API void | registerType () |
Register the type in the type system. | |
template<typename T > | |
static Reflection::Type & | registerDerivedType () |
Convenience method for registering the type of a derived component. | |
![]() | |
static COGSFOUNDATION_API void | registerType () |
Register the Component type in the global type database. | |
static COGSFOUNDATION_API Reflection::TypeId | getComponentTypeId (const StringView &name) |
Get the type id of the component type with the given name. | |
Public Attributes | |
bool | reverse = false |
If the joint profile should be reversed, i.e the arm after the cylinder. | |
float | topLength = 5.0f |
Length of the arm tip. | |
float | armLength = 15.0f |
Length of the stroke arm. | |
float | cylinderLength = 15.0f |
Length of the cylinder. | |
float | armInnerRadius = 0.7f |
Inner radius of the arm. | |
float | armOuterRadius = 0.8f |
Outer radius of the arm. | |
float | cylinderOuterRadius = 1.2f |
Outer radius of the cylinder part. | |
float | innerCylinderLength = 10.0f |
Length of the inner cylinder (inner stroke length). | |
float | pistonRadius = 1.1f |
Piston radius. | |
float | pistonLength = 0.5f |
Piston length. | |
glm::vec4 | armColor = glm::vec4(0.5f, 0.5f, 0.5f, 1.0f) |
Arm color. | |
float | connectorRadius = 1.2f |
Length of the connectors. | |
float | connectorLength = 1.0f |
Radius of the connectors. | |
float | startDepth = 0.0f |
Starting depth of the component. | |
float | endDepth = 100.0f |
End depth of the component. | |
![]() | |
void * | messageCallback = nullptr |
void * | userData = nullptr |
size_t | dynamicTypeInfoIndex = static_cast<size_t>(-1) |
Private Member Functions | |
void | updateBody (const std::vector< float > &trajectoryDepths) |
Updates the extrusion profile for the cylinder. | |
void | updateArm (const std::vector< float > &trajectoryDepths) |
Update the extrusion profile for the arm. | |
void | updateTop (const std::vector< float > &trajectoryDepths) |
Update the extrusion profile for the arm. | |
Private Attributes | |
EntityPtr | body |
EntityPtr | arm |
EntityPtr | top |
Definition at line 12 of file RiserTelescopicJointComponent.h.
void Cogs::Core::RiserTelescopicJointComponent::initialize | ( | Context * | context | ) |
Definition at line 53 of file RiserTelescopicJointComponent.cpp.
|
static |
Definition at line 18 of file RiserTelescopicJointComponent.cpp.
void Cogs::Core::RiserTelescopicJointComponent::update | ( | ) |
Definition at line 60 of file RiserTelescopicJointComponent.cpp.
|
private |
Update the extrusion profile for the arm.
Definition at line 98 of file RiserTelescopicJointComponent.cpp.
References Cogs::Core::VariableExtrusionComponent::radiusScale, and Cogs::Geometry::ProfileGenerator::reverseProfile().
|
private |
Updates the extrusion profile for the cylinder.
Definition at line 176 of file RiserTelescopicJointComponent.cpp.
References Cogs::Core::VariableExtrusionComponent::radiusScale, and Cogs::Geometry::ProfileGenerator::reverseProfile().
void Cogs::Core::RiserTelescopicJointComponent::updateChildren | ( | ) |
Definition at line 218 of file RiserTelescopicJointComponent.cpp.
|
private |
Update the extrusion profile for the arm.
Definition at line 140 of file RiserTelescopicJointComponent.cpp.
References Cogs::Core::VariableExtrusionComponent::radiusScale, and Cogs::Geometry::ProfileGenerator::reverseProfile().
|
private |
Definition at line 50 of file RiserTelescopicJointComponent.h.
glm::vec4 Cogs::Core::RiserTelescopicJointComponent::armColor = glm::vec4(0.5f, 0.5f, 0.5f, 1.0f) |
Arm color.
Definition at line 30 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::armInnerRadius = 0.7f |
Inner radius of the arm.
Definition at line 21 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::armLength = 15.0f |
Length of the stroke arm.
Definition at line 18 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::armOuterRadius = 0.8f |
Outer radius of the arm.
Definition at line 22 of file RiserTelescopicJointComponent.h.
|
private |
Definition at line 49 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::connectorLength = 1.0f |
Radius of the connectors.
Definition at line 33 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::connectorRadius = 1.2f |
Length of the connectors.
Definition at line 32 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::cylinderLength = 15.0f |
Length of the cylinder.
Definition at line 19 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::cylinderOuterRadius = 1.2f |
Outer radius of the cylinder part.
Definition at line 24 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::endDepth = 100.0f |
End depth of the component.
See TrajectoryComponent Field indexes, Measured Depth (MD)
Definition at line 36 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::innerCylinderLength = 10.0f |
Length of the inner cylinder (inner stroke length).
Definition at line 25 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::pistonLength = 0.5f |
Piston length.
Definition at line 28 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::pistonRadius = 1.1f |
Piston radius.
Definition at line 27 of file RiserTelescopicJointComponent.h.
bool Cogs::Core::RiserTelescopicJointComponent::reverse = false |
If the joint profile should be reversed, i.e the arm after the cylinder.
Definition at line 15 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::startDepth = 0.0f |
Starting depth of the component.
See TrajectoryComponent Field indexes, Measured Depth (MD)
Definition at line 35 of file RiserTelescopicJointComponent.h.
|
private |
Definition at line 51 of file RiserTelescopicJointComponent.h.
float Cogs::Core::RiserTelescopicJointComponent::topLength = 5.0f |
Length of the arm tip.
Definition at line 17 of file RiserTelescopicJointComponent.h.