Cogs.Core
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Cogs::Core::RiserTelescopicJointComponent Class Reference
Inheritance diagram for Cogs::Core::RiserTelescopicJointComponent:
Cogs::Core::DynamicComponent Cogs::ComponentModel::Component

Public Member Functions

void initialize (Context *context)
 
void update ()
 
void updateChildren ()
 
- Public Member Functions inherited from Cogs::ComponentModel::Component
class EntitygetContainer () 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 ComponentgetComponent (const Reflection::Name &name) const
 
COGSFOUNDATION_API ComponentgetComponent (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::TypegetType () 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 Public Member Functions inherited from Cogs::Core::DynamicComponent
static COGSCORE_DLL_API void registerType ()
 Register the type in the type system.
 
template<typename T >
static Reflection::TyperegisterDerivedType ()
 Convenience method for registering the type of a derived component.
 
- Static Public Member Functions inherited from Cogs::ComponentModel::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.
 
- Public Attributes inherited from Cogs::Core::DynamicComponent
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
 

Detailed Description

Definition at line 12 of file RiserTelescopicJointComponent.h.

Member Function Documentation

◆ initialize()

void Cogs::Core::RiserTelescopicJointComponent::initialize ( Context context)

Definition at line 53 of file RiserTelescopicJointComponent.cpp.

◆ registerType()

void Cogs::Core::RiserTelescopicJointComponent::registerType ( )
static

Definition at line 18 of file RiserTelescopicJointComponent.cpp.

◆ update()

void Cogs::Core::RiserTelescopicJointComponent::update ( )

Definition at line 60 of file RiserTelescopicJointComponent.cpp.

◆ updateArm()

void Cogs::Core::RiserTelescopicJointComponent::updateArm ( const std::vector< float > &  trajectoryDepths)
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().

◆ updateBody()

void Cogs::Core::RiserTelescopicJointComponent::updateBody ( const std::vector< float > &  trajectoryDepths)
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().

◆ updateChildren()

void Cogs::Core::RiserTelescopicJointComponent::updateChildren ( )

Definition at line 218 of file RiserTelescopicJointComponent.cpp.

◆ updateTop()

void Cogs::Core::RiserTelescopicJointComponent::updateTop ( const std::vector< float > &  trajectoryDepths)
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().

Member Data Documentation

◆ arm

EntityPtr Cogs::Core::RiserTelescopicJointComponent::arm
private

Definition at line 50 of file RiserTelescopicJointComponent.h.

◆ armColor

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.

◆ armInnerRadius

float Cogs::Core::RiserTelescopicJointComponent::armInnerRadius = 0.7f

Inner radius of the arm.

Definition at line 21 of file RiserTelescopicJointComponent.h.

◆ armLength

float Cogs::Core::RiserTelescopicJointComponent::armLength = 15.0f

Length of the stroke arm.

Definition at line 18 of file RiserTelescopicJointComponent.h.

◆ armOuterRadius

float Cogs::Core::RiserTelescopicJointComponent::armOuterRadius = 0.8f

Outer radius of the arm.

Definition at line 22 of file RiserTelescopicJointComponent.h.

◆ body

EntityPtr Cogs::Core::RiserTelescopicJointComponent::body
private

Definition at line 49 of file RiserTelescopicJointComponent.h.

◆ connectorLength

float Cogs::Core::RiserTelescopicJointComponent::connectorLength = 1.0f

Radius of the connectors.

Definition at line 33 of file RiserTelescopicJointComponent.h.

◆ connectorRadius

float Cogs::Core::RiserTelescopicJointComponent::connectorRadius = 1.2f

Length of the connectors.

Definition at line 32 of file RiserTelescopicJointComponent.h.

◆ cylinderLength

float Cogs::Core::RiserTelescopicJointComponent::cylinderLength = 15.0f

Length of the cylinder.

Definition at line 19 of file RiserTelescopicJointComponent.h.

◆ cylinderOuterRadius

float Cogs::Core::RiserTelescopicJointComponent::cylinderOuterRadius = 1.2f

Outer radius of the cylinder part.

Definition at line 24 of file RiserTelescopicJointComponent.h.

◆ endDepth

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.

◆ innerCylinderLength

float Cogs::Core::RiserTelescopicJointComponent::innerCylinderLength = 10.0f

Length of the inner cylinder (inner stroke length).

Definition at line 25 of file RiserTelescopicJointComponent.h.

◆ pistonLength

float Cogs::Core::RiserTelescopicJointComponent::pistonLength = 0.5f

Piston length.

Definition at line 28 of file RiserTelescopicJointComponent.h.

◆ pistonRadius

float Cogs::Core::RiserTelescopicJointComponent::pistonRadius = 1.1f

Piston radius.

Definition at line 27 of file RiserTelescopicJointComponent.h.

◆ reverse

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.

◆ startDepth

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.

◆ top

EntityPtr Cogs::Core::RiserTelescopicJointComponent::top
private

Definition at line 51 of file RiserTelescopicJointComponent.h.

◆ topLength

float Cogs::Core::RiserTelescopicJointComponent::topLength = 5.0f

Length of the arm tip.

Definition at line 17 of file RiserTelescopicJointComponent.h.


The documentation for this class was generated from the following files: