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

Public Member Functions

void initialize (Context *context)
 
void update ()
 
- 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 flat = false
 
bool individualBeams = false
 
ConnectedTicksMode connectedTicks = ConnectedTicksMode::None
 
AnnotationPosition annotationPosition = AnnotationPosition::Front
 
bool showVesselCoordsys = false
 
bool showBoundingFrustum = false
 
bool showAABB = false
 
AnnotationType annotationType = AnnotationType::Range
 
int numTickMarks = 10
 
float tickLength = 0.2f
 
std::string unit = ""
 
float widthScaleAlongship = 1.f
 
float widthScaleAthwartship = 1.f
 
float depthStart = std::numeric_limits<float>::quiet_NaN()
 
float depthRange = std::numeric_limits<float>::quiet_NaN()
 
float verticalDepthMax = std::numeric_limits<float>::quiet_NaN()
 
glm::vec4 textColor
 
- 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 createTickGeometryAndAnnotations (Context *context, const std::vector< float > &directionX, const std::vector< float > &directionY, const uint32_t minorCount, const uint32_t majorCount, const bool minorClosed, const Config &config)
 
void addAnnotations (std::vector< glm::vec3 > &V, std::vector< uint32_t > &indices, size_t tickA, size_t tickB, float depthStep, const std::vector< glm::vec3 > &dirs, const glm::vec3 &translation, float maxDistance, bool showTicks, bool connectTicks)
 
void createBeamCenterGeometry (std::vector< glm::vec3 > &V, std::vector< uint32_t > &indices, Context *context, const std::vector< float > &directionX, const std::vector< float > &directionY, bool individualBeams, const uint32_t bN, const Config &config)
 
void createBeamExtentGeometry (std::vector< glm::vec3 > &V, std::vector< uint32_t > &indices, Context *context, const std::vector< float > &directionX, const std::vector< float > &directionY, const uint32_t bN, const Config &config)
 

Private Attributes

Contextcontext = nullptr
 
DataSetSystemdataSystem = nullptr
 
uint32_t configGen = 0
 
EntityPtr annotation [2]
 
EntityPtr vesselCoordSys
 
EntityPtr boundingFrustum
 
EntityPtr axisAlignedBBox
 
EntityPtr annoLineMesh
 

Detailed Description

Definition at line 42 of file PingOutlineComponent.h.

Member Function Documentation

◆ addAnnotations()

void EchoSounder::PingOutlineComponent::addAnnotations ( std::vector< glm::vec3 > &  V,
std::vector< uint32_t > &  indices,
size_t  tickA,
size_t  tickB,
float  depthStep,
const std::vector< glm::vec3 > &  dirs,
const glm::vec3 &  translation,
float  maxDistance,
bool  showTicks,
bool  connectTicks 
)
private

Definition at line 532 of file PingOutlineComponent.cpp.

◆ createBeamCenterGeometry()

void EchoSounder::PingOutlineComponent::createBeamCenterGeometry ( std::vector< glm::vec3 > &  V,
std::vector< uint32_t > &  indices,
Context context,
const std::vector< float > &  directionX,
const std::vector< float > &  directionY,
bool  individualBeams,
const uint32_t  bN,
const Config config 
)
private

Definition at line 661 of file PingOutlineComponent.cpp.

◆ createBeamExtentGeometry()

void EchoSounder::PingOutlineComponent::createBeamExtentGeometry ( std::vector< glm::vec3 > &  V,
std::vector< uint32_t > &  indices,
Context context,
const std::vector< float > &  directionX,
const std::vector< float > &  directionY,
const uint32_t  bN,
const Config config 
)
private

Definition at line 709 of file PingOutlineComponent.cpp.

◆ createTickGeometryAndAnnotations()

void EchoSounder::PingOutlineComponent::createTickGeometryAndAnnotations ( Context context,
const std::vector< float > &  directionX,
const std::vector< float > &  directionY,
const uint32_t  minorCount,
const uint32_t  majorCount,
const bool  minorClosed,
const Config config 
)
private

Definition at line 428 of file PingOutlineComponent.cpp.

◆ initialize()

void EchoSounder::PingOutlineComponent::initialize ( Context context)

Definition at line 215 of file PingOutlineComponent.cpp.

◆ registerType()

void EchoSounder::PingOutlineComponent::registerType ( )
static

Definition at line 167 of file PingOutlineComponent.cpp.

◆ update()

void EchoSounder::PingOutlineComponent::update ( )

Definition at line 236 of file PingOutlineComponent.cpp.

Member Data Documentation

◆ annoLineMesh

EntityPtr Cogs::Core::EchoSounder::PingOutlineComponent::annoLineMesh
private

Definition at line 77 of file PingOutlineComponent.h.

◆ annotation

EntityPtr Cogs::Core::EchoSounder::PingOutlineComponent::annotation[2]
private

Definition at line 73 of file PingOutlineComponent.h.

◆ annotationPosition

AnnotationPosition Cogs::Core::EchoSounder::PingOutlineComponent::annotationPosition = AnnotationPosition::Front

Definition at line 53 of file PingOutlineComponent.h.

◆ annotationType

AnnotationType Cogs::Core::EchoSounder::PingOutlineComponent::annotationType = AnnotationType::Range

Definition at line 58 of file PingOutlineComponent.h.

◆ axisAlignedBBox

EntityPtr Cogs::Core::EchoSounder::PingOutlineComponent::axisAlignedBBox
private

Definition at line 76 of file PingOutlineComponent.h.

◆ boundingFrustum

EntityPtr Cogs::Core::EchoSounder::PingOutlineComponent::boundingFrustum
private

Definition at line 75 of file PingOutlineComponent.h.

◆ configGen

uint32_t Cogs::Core::EchoSounder::PingOutlineComponent::configGen = 0
private

Definition at line 72 of file PingOutlineComponent.h.

◆ connectedTicks

ConnectedTicksMode Cogs::Core::EchoSounder::PingOutlineComponent::connectedTicks = ConnectedTicksMode::None

Definition at line 52 of file PingOutlineComponent.h.

◆ context

Context* Cogs::Core::EchoSounder::PingOutlineComponent::context = nullptr
private

Definition at line 70 of file PingOutlineComponent.h.

◆ dataSystem

DataSetSystem* Cogs::Core::EchoSounder::PingOutlineComponent::dataSystem = nullptr
private

Definition at line 71 of file PingOutlineComponent.h.

◆ depthRange

float Cogs::Core::EchoSounder::PingOutlineComponent::depthRange = std::numeric_limits<float>::quiet_NaN()

Definition at line 65 of file PingOutlineComponent.h.

◆ depthStart

float Cogs::Core::EchoSounder::PingOutlineComponent::depthStart = std::numeric_limits<float>::quiet_NaN()

Definition at line 64 of file PingOutlineComponent.h.

◆ flat

bool Cogs::Core::EchoSounder::PingOutlineComponent::flat = false

Definition at line 50 of file PingOutlineComponent.h.

◆ individualBeams

bool Cogs::Core::EchoSounder::PingOutlineComponent::individualBeams = false

Definition at line 51 of file PingOutlineComponent.h.

◆ numTickMarks

int Cogs::Core::EchoSounder::PingOutlineComponent::numTickMarks = 10

Definition at line 59 of file PingOutlineComponent.h.

◆ showAABB

bool Cogs::Core::EchoSounder::PingOutlineComponent::showAABB = false

Definition at line 56 of file PingOutlineComponent.h.

◆ showBoundingFrustum

bool Cogs::Core::EchoSounder::PingOutlineComponent::showBoundingFrustum = false

Definition at line 55 of file PingOutlineComponent.h.

◆ showVesselCoordsys

bool Cogs::Core::EchoSounder::PingOutlineComponent::showVesselCoordsys = false

Definition at line 54 of file PingOutlineComponent.h.

◆ textColor

glm::vec4 Cogs::Core::EchoSounder::PingOutlineComponent::textColor

Definition at line 68 of file PingOutlineComponent.h.

◆ tickLength

float Cogs::Core::EchoSounder::PingOutlineComponent::tickLength = 0.2f

Definition at line 60 of file PingOutlineComponent.h.

◆ unit

std::string Cogs::Core::EchoSounder::PingOutlineComponent::unit = ""

Definition at line 61 of file PingOutlineComponent.h.

◆ verticalDepthMax

float Cogs::Core::EchoSounder::PingOutlineComponent::verticalDepthMax = std::numeric_limits<float>::quiet_NaN()

Definition at line 66 of file PingOutlineComponent.h.

◆ vesselCoordSys

EntityPtr Cogs::Core::EchoSounder::PingOutlineComponent::vesselCoordSys
private

Definition at line 74 of file PingOutlineComponent.h.

◆ widthScaleAlongship

float Cogs::Core::EchoSounder::PingOutlineComponent::widthScaleAlongship = 1.f

Definition at line 62 of file PingOutlineComponent.h.

◆ widthScaleAthwartship

float Cogs::Core::EchoSounder::PingOutlineComponent::widthScaleAthwartship = 1.f

Definition at line 63 of file PingOutlineComponent.h.


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