API Documentation
Loading...
Searching...
No Matches
OrientationSensor Class Reference

Used to report the orientation of a Hardware object within 3D space. More...

#include <OrientationSensor.h>

Inheritance diagram for OrientationSensor:
[legend]
Collaboration diagram for OrientationSensor:
[legend]

Signals

void calibrationChangedSignal ()
 
void deploymentModeOptionsUpdatedSignal ()
 
void driftRateUpdatedSignal ()
 
void magnetometerCalibrationUpdatedSignal ()
 
- Signals inherited from Device
void onUpdated ()
 

Public Member Functions

virtual Ray< 3, fltp08calibratedMagnetometerVector () const
 
virtual UUID calibrationID () const
 
virtual TranslatedString calibrationMessage () const
 
fltp04 calibrationPercent () const
 
IMUCalibratorcalibrator () const
 
void checkForSetMagneticDeclination ()
 
virtual void clearCurrentDrift ()
 
virtual Angle< fltp08compassAngle () const
 
void createCalibrationOffset (const Matrix< fltp08 > &map_from, const Matrix< fltp08 > &map_to)
 
Vector< 3, Angle< fltp08 > > deviceOffsets () const
 
const Vector< 3, Angle< fltp08 > > & driftRate () const
 
Vector< 3, Angle< fltp08 > > driftValue () const
 
virtual Time getGyroCalibrationTime () const
 
Vector< 3, Angle< fltp08 > > gravityAccelerationToAngle (const Vector< 3, fltp08 > &acceleration_vector)
 
virtual GyroState gyroState () const
 
virtual bool hasCalibratedDrift () const
 
virtual bool hasLockedRoll () const
 
virtual bool hasLockedYaw () const
 
virtual bool isGyroUpdating () const
 
virtual bool isLocked () const
 
virtual Matrix< fltp08lastOrientation () const
 
virtual void lockRoll (bool lock_roll, Angle< fltp08 > roll=Constant< Angle< fltp08 > >::Invalid, Angle< fltp08 > yaw=Constant< Angle< fltp08 > >::Invalid)
 
virtual void lockYaw (bool lock_yaw, Angle< fltp08 > lock_heading=Constant< Angle< fltp08 > >::Invalid)
 
virtual MagneticCalibrationDatamagnetometerCalibrationObject ()
 
virtual MagnetometerState magnetometerState () const
 
virtual bool needsMagnetometerCalibration () const
 
 OrientationSensor (const Model &model, ProgressInfo *log, QObject *parent=nullptr)
 
Vector< 3, Angle< fltp08 > > quaternionToAngle (const Vector< 4, fltp08 > &quaternion) const
 
virtual Ray< 3, fltp08rawMagnetometerVector () const
 
virtual Ray< 3, fltp08referenceDirection () const
 
virtual bool requestAccelerationBiasLimit (fltp04 bias_limit)
 
virtual bool requestApplyMagnetometerCalibration ()
 
virtual bool requestGyroCalibration ()
 
virtual bool requestMagnetometerCalibration (bool)
 
virtual bool requestUsingAccelerometer (bool using_accelerometer)
 
virtual bool requestUsingCompass (bool using_compass)
 
virtual bool requestUsingGyro (bool using_gyro, bool reset_state)
 
void setCalibrationOffset (const Matrix< fltp08 > &offset)
 
virtual void setCalibrator (IMUCalibrator *imu_calibrator)
 
void setDeviceOffsets (Vector< 3, Angle< fltp08 > > device_offsets)
 
virtual void setDriftRate (const Vector< 3, Angle< fltp08 > > &drift_rate)
 
void setFromAngles (const Vector< 3, Angle< fltp08 > > &angles)
 
void setFromGravityAcceleration (const Vector< 3, fltp08 > &acceleration_vector)
 
virtual void setFromQuaternion (const Vector< 4, fltp08 > &quaternion)
 
void setUserSpecifiedOffsets (const Vector< 3, Angle< fltp08 > > &user_specified_offsets)
 
virtual bool supportsFixed () const
 
virtual bool supportsModes () const
 
virtual bool supportsRodded () const
 
Vector< 3, Angle< fltp08 > > userSpecifiedOffsets () const
 
virtual bool usingAccelerometer () const
 
virtual bool usingCompass () const
 
virtual bool usingGyro () const
 
- Public Member Functions inherited from Device
 Device (const Model &model, ProgressInfo *log, QObject *parent=nullptr)
 
ProgressInfodeviceLog () const
 
virtual void endUpdates ()
 
virtual void setLog (ProgressInfo *log)
 
void setWarningCallback (const std::function< void(const Exception &warning, ProgressInfo *log)> &warning_callback)
 
void startAutoUpdate (DesignObjectLookup *lookup=nullptr)
 
void stopAutoUpdate (DesignObjectLookup *lookup=nullptr)
 
virtual void update ()
 
virtual void update (DesignObjectLookup *lookup, Time time) override
 
virtual TimeSpan updateInterval () const
 
- Public Member Functions inherited from Model
void addChild (Model &child)
 
void addChild (uint04 child_index)
 
void addPerVertexColorFromMaterialConstant (UVType constant_index)
 
Matrix< fltp08applyTransformToParent (const Matrix< fltp08 > &parent_mat) const
 
Vector< 3, fltp08calculateAverageDirection (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const
 
Vector< 2, fltp08calculateHVLength (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateIndexNeighborList ()
 
fltp08 calculateLength (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateNormals (NormalMode mode, Angle< fltp08 > smoothing_angle)
 
void calculateSmoothTextures (Vector< 3, fltp08 > origin, fltp08 scale)
 
fltp08 calculateSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateTangentSpace (bool calc_tan, bool calc_bitan)
 
fltp08 calculateVolume (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
Vector< 2, fltp08calculateVolumeAndSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid, const void *lock=nullptr) const
 
bool canExplode () const
 
bool canInteract () const
 
Vertex< 3, fltp08centerAlignModel ()
 
void checkBounds ()
 
uint04 childCount () const
 
void clearChildren ()
 
void clearLayer ()
 
void clearMaterialDescendents ()
 
void colorByChannel (Material &mat, const String &channel, fltp08 avg=Constant< fltp08 >::Invalid) const
 
Dictionary< UUID, DesignObjectcopyFrom (const Model &model, bool deep_copy, bool copy_ids=false, bool recursive=true)
 
Dictionary< UUID, DesignObjectcopyMaterialProperties (const Model &model)
 
Model createChild ()
 
Model createChild (uint04 child_slot)
 
Effect createChildEffect ()
 
Geometry createChildGeometry ()
 
Material createChildMaterial (bool copy_child=false)
 
Material createChildMaterial (PrimitiveProperty property, bool copy_child=false)
 
void createChildren (uint04 child_size)
 
Effect createSceneEffect () const
 
Geometry createSceneGeometry () const
 
Model createSceneLayer () const
 
Material createSceneMaterial () const
 
Model createSceneModel () const
 
RGBColor customModelColor (ModelColorMode mode) const
 
void deleteModel (bool delete_children, bool remove_from_parent=true)
 
BitFlag descendedFlags () const
 
BitFlag descendedFlagsNoCache (bool complete_cache_ignore) const
 
BitFlag descendedPersonalFlagsNoCache () const
 
Buffer< GeometryTypedescendentGeometryTypes () const
 
TranslatedString displayName () const
 
TranslatedString displayNamePath (const String &seperator=":") const
 
bool doesModelPropertyContain (ModelProperty property, const char *value, bool ignore_case) const
 
bool doesModelPropertyContain (ModelProperty property, const String &value, bool ignore_case) const
 
void eraseModel ()
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > explodeModel ()
 
bool exportIgnored () const
 
Model findDescendentByName (const String &name) const
 
Model findDescendentByType (const String &type) const
 
Time getAscModifiedTime (bool include_self, bool include_layer=true) const
 
Bounds< 3, fltp08getBounds () const
 
Bounds< 3, fltp08getBoundsOfVisible () const
 
Model getChild (uint04 child) const
 
uint04 getChildIndex () const
 
uint04 getChildIndex (uint04 child) const
 
Buffer< uint04getChildIndices () const
 
uint04 getChildLayerIndex () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildren () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByName (const String &name) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType (const Buffer< String > &type) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType (const String &type) const
 
Buffer< UUIDgetChildrenIDs () const
 
Buffer< std::pair< Model, Geometry >, uint04, ObjectAllocator< DESIGN_PRIM > > getClippingGeometry () const
 
Matrix< fltp08getCompleteTransform () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendents (bool include_deleted=false, bool local_only=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByName (const String &name, uint04 max_count=Constant< uint04 >::Max) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByNameAndType (const String &name, const String &type, uint04 max_count=Constant< uint04 >::Max) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByType (const String &type, uint04 max_count=Constant< uint04 >::Max) const
 
Time getDescModifiedTime (bool include_self) const
 
uint04 getDirectLayerIndex () const
 
Effect getEffect (uint04 index=0) const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getEffectChildren () const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getEffectDescendents () const
 
uint04 getEffectIndex (uint04 child_index=0) const
 
Model getFamilyMember (uint04 index) const
 
Geometry getGeometry () const
 
Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getGeometryDescendents (bool remove_redundant=true, uint04 max_count=Constant< uint04 >::Max) const
 
uint04 getGeometryIndex () const
 
Model getLayer () const
 
Material getMaterial (PrimitiveProperty property) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialChildren () const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents (bool local_only=false) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents (PrimitiveProperty property) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendentsByName (const String &name, uint04 max_count=Constant< uint04 >::Max) const
 
uint04 getMaterialIndex (PrimitiveProperty property) const
 
MaterialMode getMaterialMode (PrimitiveProperty property) const
 
String getModelIcon () const
 
template<class t_type >
t_type getModelProperty (ModelProperty property) const
 
uint04 getNumOfEffects () const
 
Model getParent () const
 
uint04 getParentIndex () const
 
Matrix< fltp08getParentTransform () const
 
Material getRootMaterial (PrimitiveProperty property) const
 
Model getRootMaterialModel (PrimitiveProperty property)
 
Effect getSceneEffect (UUID id) const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getSceneEffects () const
 
Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneGeometries () const
 
Geometry getSceneGeometry (uint04 index) const
 
Geometry getSceneGeometry (UUID id) const
 
Model getSceneLayer (UUID id) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneLayers (bool include_deleted=false) const
 
Material getSceneMaterial (uint04 index) const
 
Material getSceneMaterial (UUID id) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneMaterials () const
 
Model getSceneModel (UUID id) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModels (bool include_deleted=false, bool local_only=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByName (const String &name, uint04 max_count=Constant< uint04 >::Max, bool include_deleted=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByType (const String &type, uint04 max_count=Constant< uint04 >::Max, bool include_deleted=false) const
 
Bounds< 3, fltp08getSelectionBounds () const
 
template<class t_type >
Buffer< t_type > getTypeChildren (const String &type) const
 
template<class t_type >
Buffer< t_type > getTypeDescendents (const String &type) const
 
Bounds< 3, fltp08globalBounds () const
 
Vertex< 3, fltp08globalCenterOfRotation () const
 
Bounds< 3, fltp08globalSelectionBounds () const
 
bool hasChild (uint04 child_index) const
 
bool hasDescendent (const Model &model) const
 
bool hasDescendent (const UUID &id) const
 
void hasDescendents (bool &has_point, bool &has_line, bool &has_mesh) const
 
bool hasDirectLayer () const
 
bool hasEffect (uint04 index=0) const
 
bool hasFocus () const
 
bool hasGeometryDescendent () const
 
bool hasHoles (PrimitiveProperty property) const
 
bool hasLayer () const
 
bool hasLayerRootMaterial (PrimitiveProperty property) const
 
bool hasLinearDescendent () const
 
bool hasMaterial () const
 
bool hasMaterial (PrimitiveProperty property) const
 
bool hasMeshDescendent () const
 
bool hasPointsDescendent () const
 
bool hasSelectedDescendent () const
 
Vector< 32, bool > inheritedFlags () const
 
Vector< 32, bool > inheritedFlagsNoCache (bool complete_cache_ignore) const
 
Vector< 32, bool > inheritedPersonalFlagsNoCache () const
 
void invalidateBounds ()
 
void invalidateGlobalBoundsAsc ()
 
void invalidateGlobalBoundsDesc ()
 
void invalidateTransformCache ()
 
void invalidateVisibleBounds ()
 
bool isApplicationOwned () const
 
bool isDeleted () const
 
bool isLayer () const
 
bool isLocked () const
 
bool isModelProperty (ModelProperty property, const char *value) const
 
bool isModelProperty (ModelProperty property, const String &value) const
 
bool isOfType (const char *type) const
 
bool isOfType (const String &type) const
 
bool isScene () const
 
bool isSelected () const
 
bool isTreeVisible () const
 
bool isVisible () const
 
 Model ()
 
 Model (const DesignObject &obj)
 
 Model (DesignObjectBase *base)
 
 Model (uint04 index, DesignObjectBase *base)
 
 operator bool () const
 
void overrideMaterialDescendents (MaterialMode vertex, MaterialMode outline, MaterialMode solid)
 
void overrideMaterialDescendents (PrimitiveProperty property, MaterialMode override_desc)
 
BitFlag parentMatrixFlags () const
 
BitFlag personalDescendedFlags () const
 
Vector< 32, bool > personalInheritedFlags () const
 
void removeChild (const Model &model)
 
void removeDuplicateVertices (fltp08 epsilon, void *lock, ProgressInfo *log=nullptr)
 
void removeGeometry ()
 
void removeMaterial (const Material &material)
 
void removeMaterial (PrimitiveProperty property)
 
void restoreModel ()
 
void setChildIndex (uint04 child, uint04 id)
 
void setGeometryChild (const Geometry &geo)
 
void setGeometryChild (uint04 geo_index)
 
void setIsLayer (bool is_layer)
 
void setLayer (Model layer)
 
void setMaterial (const Material &material)
 
void setMaterial (PrimitiveProperty property, const Material &material)
 
void setMaterial (PrimitiveProperty property, uint04 material_index)
 
void setMaterial (uint04 material_index)
 
void setMaterialMode (MaterialMode vertex, MaterialMode outline, MaterialMode solid)
 
void setMaterialMode (PrimitiveProperty property, MaterialMode option)
 
template<class t_type >
void setModelProperty (ModelProperty property, const t_type &value)
 
void setNormalMode (NormalMode mode, Angle< fltp08 > smoothing_angle, ProgressInfo *log)
 
void setOrientation (const Vector< 3, Angle< fltp08 > > &new_orientation, const void *lock=nullptr)
 
void setOrientation (const Vector< 3, Angle< sint04 > > &new_orientation, const void *lock=nullptr)
 
void setParentMatrixFlag (ParentMatrixFlags flag, bool value)
 
void setParentMatrixFlags (BitFlag flags)
 
void setSize (const Vector< 3, fltp08 > &size)
 
void setTransform (const Matrix< fltp08 > &transform)
 
void setWindingMode (WindingMode mode)
 
Vector< 3, fltp08size () const
 
void swapChildren (uint04 a, uint04 b)
 
void updateAscTime (const Time &time, bool include_self)
 
void updateDescendedFlagsCache (bool force_update_all=false)
 
void updateDescTime (const Time &time, bool include_self)
 
void updateFrom (const Model &model, bool check_resources)
 
void updateInheritedFlagsCache (bool force_update_all=false, bool update_personal_flags=false)
 
template<class t_type >
void updateModelProperty (ModelProperty property, const t_type &type, const void *lock_ptr=nullptr)
 
void updateModifiedTime (Time time=Time::SystemTime())
 
void updateTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr)
 
void updateVisible (bool is_visible)
 
void updateVisibleRecursive (bool is_visible)
 
void validate (bool validate_children=true) const
 
uint04 vertexCount () const
 
uint04 visibleVertexCount () const
 
- Public Member Functions inherited from DesignObject
void actionDeletedIndex (uint04 index, uint04 size)
 
JSONNode activeFilters () const
 
void addIndex (uint04 index, uint04 size)
 
void appendData (const String &data, bool compressed)
 
DesignObjectBasebase () const
 
void clearMetaData (const String &index)
 
void copyFrom (const DesignObject &object)
 
uint04 designIndex () const
 
 DesignObject ()=default
 Creates an "invalid" design object. This object does not have a backing database, and all indices will be Invalid. Checking properties on this object is not permitted but you may use the '=' to set this model to a different model.
 
 DesignObject (DesignObjectBase *base)
 Creates an new design object within the given DesignObjectBase. This object is appended to the end of the DesignObjectBase data structure and values are setup to defaults.
 
 DesignObject (uint04 index, DesignObjectBase *base)
 Sets a DesignObject up to be a pointer to an existing object in the database. If the index is invalid behavior is undefined.
 
bool doesPropertyBeginWith (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyBeginWith (DesignProperty property, const String &value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const String &value, bool ignore_case) const
 
File file () const
 
uint04 getDesignParentIndex () const
 
String getIcon () const
 
template<class t_type >
t_type getInheritedProperty (DesignProperty property) const
 
Time getModifiedTime () const
 
template<class t_type >
t_type getProperty (DesignProperty property) const
 
Scene getScene () const
 
Matrix< fltp08getTransform () const
 
bool hasMetaData (const String &index) const
 
template<class t_type >
bool hasProperty (DesignProperty property) const
 
uint04 index () const
 
bool isDesignType (DesignObjectType mode) const
 
bool isDesignType (uint04 mode) const
 
bool isProperty (DesignProperty property, const char *value) const
 
bool isProperty (DesignProperty property, const String &value) const
 
bool isValid () const
 
const JSONNodemetaData () const
 
const JSONNodemetaData (const String &index) const
 
void offset (const Vector< 3, fltp08 > &offset)
 
 operator bool () const
 
bool operator!= (const DesignObject &model) const
 
bool operator< (const DesignObject &model) const
 
bool operator== (const DesignObject &model) const
 
bool operator> (const DesignObject &model) const
 
DynamicPointer< Table > & propertyTable ()
 
const DynamicPointer< Table > & propertyTable () const
 
void removeMetaData (const String &index, const void *lock_ptr=nullptr)
 
void scale (Vector< 3, fltp08 > scale, Vertex< 3, fltp08 > center_of_scale=Constant< Vertex< 3, fltp08 > >::Invalid)
 
void setActiveFilters (const JSONNode &node)
 
void setDesignType (DesignObjectType mode, bool is_type)
 
void setDesignVisible (bool is_visible)
 
void setMetaData (const JSONNode &node)
 
void setMetaData (const String &index, const bool &data)
 
void setMetaData (const String &index, const fltp08 &data)
 
void setMetaData (const String &index, const JSONNode &node)
 
void setMetaData (const String &index, const String &data)
 
void setMetaData (const String &index, const uint04 &data)
 
template<>
void setProperty (DesignProperty property, const String &value)
 
template<class t_type >
void setProperty (DesignProperty property, const t_type &value)
 
template<>
void setProperty (DesignProperty property, const UUID &value)
 
void updateCreatedTime ()
 
void updateDesignModifiedTime (Time time=Time::SystemTime())
 
void updateDesignTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr)
 
void updateDesignVisible (bool is_visible, const void *lock=nullptr)
 
void updateMetaData (const String &index, const bool &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const fltp08 &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const String &data, const void *lock_ptr=nullptr)
 
template<class t_type >
void updateProperty (DesignProperty property, const t_type &value, const void *lock=nullptr)
 
UUID uuid () const
 
bool validateDesignObject () const
 
- Public Member Functions inherited from DesignObjectUpdateTarget

Static Public Member Functions

static Matrix< fltp08, 3, 3 > calculateDeviation (TimeSpan time, const Vector< 4, fltp08 > &start, const Vector< 4, fltp08 > &end)
 
static Angle< fltp08calculateNorthFacing (const Matrix< fltp08, 3, 3 > &offset_mat)
 
static Matrix< fltp08, 3, 3 > offsetCalibration (TimeSpan time_since_calibration, const Matrix< fltp08, 3, 3 > &current_orientation, const Matrix< fltp08, 3, 3 > &dev_matrix)
 
- Static Public Member Functions inherited from Device
static void SetDefaultDeviceLookup (DesignObjectLookup *lookup)
 
- Static Public Member Functions inherited from Model
static Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > ReduceToRoots (const Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > &children, const std::function< bool(const Model &, const Set< Model > &)> &filter)
 
- Static Public Member Functions inherited from DesignObject
static constexpr const char * FilePathDesignNameVariable ()
 

Protected Member Functions

virtual Vector< 3, Angle< fltp08 > > lastOrientationAngle () const
 
- Protected Member Functions inherited from Device
virtual void showWarning (const Exception &warning) const
 
virtual void showWarning (const TranslatedString &warning) const
 
- Protected Member Functions inherited from Model
DesignObjectBasechildBase () const
 
uint04 childToParentReference () const
 
DesignObjectBaseparentBase () const
 
uint04 parentToChildReference () const
 
- Protected Member Functions inherited from DesignObject
void onNameChange (const String &new_name)
 

Protected Attributes

AccelerometerState m_acceleromter_state
 
Vector< 3, Angle< fltp08 > > m_angle_drift_rate
 
Time m_angle_drift_start_time
 
Ray< 3, fltp08m_calibrated_magnetomer_vector = Constant<Ray<3, fltp08>>::Invalid
 
UUID m_calibration_id
 
Matrix< fltp08m_calibration_offset
 
fltp04 m_calibration_percent
 
Time m_calibration_time
 
Vector< 3, Angle< fltp08 > > m_device_specified_offsets
 
bool m_gyro_calibration_requested = false
 
GyroState m_gyro_state
 
bool m_has_calibrated_drift = false
 
IMUCalibratorm_imu_calibrator = nullptr
 
bool m_is_gyro_updating = false
 
bool m_is_locked = false
 
MagnetometerState m_magnetometer_state
 
Ray< 3, fltp08m_raw_magnetometer_vector = Constant<Ray<3, fltp08>>::Invalid
 
Angle< fltp08m_roll_lock
 
Angle< fltp08m_roll_lock_reference_yaw
 
Vector< 3, Angle< fltp08 > > m_tilt_angle
 
Vector< 3, Angle< fltp08 > > m_user_specified_offsets
 
bool m_using_accelerometer = false
 
bool m_using_compass = false
 
bool m_using_gyro = false
 
Angle< fltp08m_yaw_lock
 
- Protected Attributes inherited from Device
ProgressInfom_log
 
DeviceUpdateThreadm_update_thread = nullptr
 
std::function< void(const Exception &warning, ProgressInfo *log)> m_warning_callback
 
- Protected Attributes inherited from DesignObject
DesignObjectBasem_base = nullptr
 
uint04 m_design_index = Constant<uint04>::Invalid
 
uint04 m_index = Constant<uint04>::Invalid
 
UUID m_uuid = Constant<UUID>::Invalid
 

Additional Inherited Members

- Public Types inherited from Model
enum  DescendedFlags { e_descendent_selected = 0 , e_descendent_focussed = 1 , e_descendent_deletion_blocked = 2 }
 
enum  InheritedFlags : uint01 {
  e_inherited_is_visible = 0 , e_inherited_has_no_focus = 1 , e_inherited_is_tree_visible = 2 , e_inherited_not_selected = 3 ,
  e_inherited_is_manager_visible = 4 , e_inherited_can_delete = 5 , e_inherited_does_not_follow_camera = 6 , e_inherited_does_not_orient_to_camera = 7 ,
  e_inherited_does_not_scale_to_camera = 8 , e_inherited_not_deleted = 9 , e_inherited_not_application_owned = 10 , e_inherited_exportable = 11
}
 
enum class  MaterialMode { e_by_parent , e_by_layer , e_custom , e_hidden }
 
enum class  ModelColorMode { e_direct , e_by_selectable_children , e_by_material_root , e_by_layer }
 
enum  ModelProperty {
  e_type , e_fixed_bounding_box , e_visible_box , e_calculation_ignored ,
  e_can_select_children , e_complete_transform , e_material_mode_solid , e_material_mode_outline ,
  e_material_mode_vertices , e_parent_matrix_flags , e_global_bounds , e_global_selection_bounds ,
  e_model_color , e_inherited_flags , e_personal_inherited_flags , e_export_ignored ,
  e_descended_flags , e_personal_descended_flags , e_application_constructed , e_application_constructed_parent_base ,
  e_model_property_size
}
 
enum  ParentMatrixFlags : uint01 {
  e_ignore_offset = 0 , e_ignore_scale = 1 , e_ignore_rotation = 2 , e_ignore_scale_distortion = 3 ,
  e_use_only_for_offset = 4 , e_orient_to_camera = 5 , e_follow_camera = 6 , e_scale_to_camera = 7
}
 
- Public Types inherited from DesignObject
enum  DesignObjectType {
  e_model = 0x00000001 , e_geometry = 0x00000002 , e_material = 0x00000004 , e_bone = 0x00000008 ,
  e_effect = 0x00000010 , e_layer = 0x00000020 , e_scene = 0x00000040 , e_camera = 0x00000080 ,
  e_selection = 0x00000100
}
 
enum  DesignProperty {
  e_guid , e_design_types , e_transform , e_bounding_box ,
  e_selection_box , e_name , e_description , e_editable_description ,
  e_creation_time , e_modified_time , e_asc_modified_time , e_desc_modified_time ,
  e_bounds_modified_time , e_author , e_creation_software , e_3D_visible ,
  e_tree_visible , e_icon , e_is_selected , e_is_focused ,
  e_allow_interactions , e_file , e_search_terms , e_category ,
  e_deletion_allowed , e_is_deleted , e_is_application_locked , e_is_application_owned ,
  e_bounds_ignored , e_selection_ignored , e_meta_data , e_untranslated_string_data ,
  e_translated_string_data , e_uncompressed_data , e_compressed_data , e_manager_visible ,
  e_library_id , e_is_frozen , e_applied_filters , e_design_property_size
}
 Values stored in the property database. More...
 
- Static Protected Attributes inherited from Device
static DesignObjectLookups_default_lookup
 

Detailed Description

Used to report the orientation of a Hardware object within 3D space.


Constructor & Destructor Documentation

◆ OrientationSensor()

OrientationSensor ( const Model & model,
ProgressInfo * log,
QObject * parent = nullptr )

Member Function Documentation

◆ calculateDeviation()

static Matrix< fltp08, 3, 3 > calculateDeviation ( TimeSpan time,
const Vector< 4, fltp08 > & start,
const Vector< 4, fltp08 > & end )
staticnodiscard

◆ calculateNorthFacing()

static Angle< fltp08 > calculateNorthFacing ( const Matrix< fltp08, 3, 3 > & offset_mat)
staticnodiscard

◆ calibratedMagnetometerVector()

virtual Ray< 3, fltp08 > calibratedMagnetometerVector ( ) const
inlinevirtual

◆ calibrationChangedSignal

void calibrationChangedSignal ( )
signal

◆ calibrationID()

virtual UUID calibrationID ( ) const
inlinenodiscardvirtual

◆ calibrationMessage()

virtual TranslatedString calibrationMessage ( ) const
nodiscardvirtual

◆ calibrationPercent()

fltp04 calibrationPercent ( ) const

◆ calibrator()

IMUCalibrator * calibrator ( ) const
inline

◆ checkForSetMagneticDeclination()

void checkForSetMagneticDeclination ( )

◆ clearCurrentDrift()

virtual void clearCurrentDrift ( )
virtual

◆ compassAngle()

virtual Angle< fltp08 > compassAngle ( ) const
inlinevirtual

◆ createCalibrationOffset()

void createCalibrationOffset ( const Matrix< fltp08 > & map_from,
const Matrix< fltp08 > & map_to )

◆ deploymentModeOptionsUpdatedSignal

void deploymentModeOptionsUpdatedSignal ( )
signal

◆ deviceOffsets()

Vector< 3, Angle< fltp08 > > deviceOffsets ( ) const
inlinenodiscard

◆ driftRate()

const Vector< 3, Angle< fltp08 > > & driftRate ( ) const
inlinenodiscard

◆ driftRateUpdatedSignal

void driftRateUpdatedSignal ( )
signal

◆ driftValue()

Vector< 3, Angle< fltp08 > > driftValue ( ) const
nodiscard

◆ getGyroCalibrationTime()

virtual Time getGyroCalibrationTime ( ) const
nodiscardvirtual

◆ gravityAccelerationToAngle()

Vector< 3, Angle< fltp08 > > gravityAccelerationToAngle ( const Vector< 3, fltp08 > & acceleration_vector)

◆ gyroState()

virtual GyroState gyroState ( ) const
nodiscardvirtual

◆ hasCalibratedDrift()

virtual bool hasCalibratedDrift ( ) const
inlinevirtual

◆ hasLockedRoll()

virtual bool hasLockedRoll ( ) const
nodiscardvirtual

◆ hasLockedYaw()

virtual bool hasLockedYaw ( ) const
nodiscardvirtual

◆ isGyroUpdating()

virtual bool isGyroUpdating ( ) const
inlinenodiscardvirtual

◆ isLocked()

virtual bool isLocked ( ) const
inlinenodiscardvirtual

◆ lastOrientation()

virtual Matrix< fltp08 > lastOrientation ( ) const
nodiscardvirtual

◆ lastOrientationAngle()

virtual Vector< 3, Angle< fltp08 > > lastOrientationAngle ( ) const
nodiscardprotectedvirtual

◆ lockRoll()

virtual void lockRoll ( bool lock_roll,
Angle< fltp08 > roll = ConstantAnglefltp08 > >::Invalid,
Angle< fltp08 > yaw = ConstantAnglefltp08 > >::Invalid )
virtual

◆ lockYaw()

virtual void lockYaw ( bool lock_yaw,
Angle< fltp08 > lock_heading = ConstantAnglefltp08 > >::Invalid )
virtual

◆ magnetometerCalibrationObject()

virtual MagneticCalibrationData * magnetometerCalibrationObject ( )
inlinevirtual

◆ magnetometerCalibrationUpdatedSignal

void magnetometerCalibrationUpdatedSignal ( )
signal

◆ magnetometerState()

virtual MagnetometerState magnetometerState ( ) const
inlinenodiscardvirtual

◆ needsMagnetometerCalibration()

virtual bool needsMagnetometerCalibration ( ) const
inlinevirtual

◆ offsetCalibration()

static Matrix< fltp08, 3, 3 > offsetCalibration ( TimeSpan time_since_calibration,
const Matrix< fltp08, 3, 3 > & current_orientation,
const Matrix< fltp08, 3, 3 > & dev_matrix )
staticnodiscard

◆ quaternionToAngle()

Vector< 3, Angle< fltp08 > > quaternionToAngle ( const Vector< 4, fltp08 > & quaternion) const

◆ rawMagnetometerVector()

virtual Ray< 3, fltp08 > rawMagnetometerVector ( ) const
inlinevirtual

◆ referenceDirection()

virtual Ray< 3, fltp08 > referenceDirection ( ) const
inlinenodiscardvirtual

◆ requestAccelerationBiasLimit()

virtual bool requestAccelerationBiasLimit ( fltp04 bias_limit)
inlinevirtual

◆ requestApplyMagnetometerCalibration()

virtual bool requestApplyMagnetometerCalibration ( )
inlinevirtual

◆ requestGyroCalibration()

virtual bool requestGyroCalibration ( )
inlinevirtual

Reimplemented in MadgwickOrientationSensor.

◆ requestMagnetometerCalibration()

virtual bool requestMagnetometerCalibration ( bool )
inlinevirtual

◆ requestUsingAccelerometer()

virtual bool requestUsingAccelerometer ( bool using_accelerometer)
virtual

◆ requestUsingCompass()

virtual bool requestUsingCompass ( bool using_compass)
virtual

◆ requestUsingGyro()

virtual bool requestUsingGyro ( bool using_gyro,
bool reset_state )
virtual

◆ setCalibrationOffset()

void setCalibrationOffset ( const Matrix< fltp08 > & offset)

◆ setCalibrator()

virtual void setCalibrator ( IMUCalibrator * imu_calibrator)
virtual

◆ setDeviceOffsets()

void setDeviceOffsets ( Vector< 3, Angle< fltp08 > > device_offsets)
inline

◆ setDriftRate()

virtual void setDriftRate ( const Vector< 3, Angle< fltp08 > > & drift_rate)
virtual

◆ setFromAngles()

void setFromAngles ( const Vector< 3, Angle< fltp08 > > & angles)

◆ setFromGravityAcceleration()

void setFromGravityAcceleration ( const Vector< 3, fltp08 > & acceleration_vector)

◆ setFromQuaternion()

virtual void setFromQuaternion ( const Vector< 4, fltp08 > & quaternion)
virtual

◆ setUserSpecifiedOffsets()

void setUserSpecifiedOffsets ( const Vector< 3, Angle< fltp08 > > & user_specified_offsets)
inline

◆ supportsFixed()

virtual bool supportsFixed ( ) const
inlinevirtual

Reimplemented in MadgwickOrientationSensor.

◆ supportsModes()

virtual bool supportsModes ( ) const
inlinevirtual

◆ supportsRodded()

virtual bool supportsRodded ( ) const
inlinevirtual

Reimplemented in MadgwickOrientationSensor.

◆ userSpecifiedOffsets()

Vector< 3, Angle< fltp08 > > userSpecifiedOffsets ( ) const
inlinenodiscard

◆ usingAccelerometer()

virtual bool usingAccelerometer ( ) const
inlinenodiscardvirtual

◆ usingCompass()

virtual bool usingCompass ( ) const
inlinenodiscardvirtual

◆ usingGyro()

virtual bool usingGyro ( ) const
inlinenodiscardvirtual

Member Data Documentation

◆ m_acceleromter_state

AccelerometerState m_acceleromter_state
protected

◆ m_angle_drift_rate

Vector<3, Angle<fltp08> > m_angle_drift_rate
protected

◆ m_angle_drift_start_time

Time m_angle_drift_start_time
protected

◆ m_calibrated_magnetomer_vector

Ray<3, fltp08> m_calibrated_magnetomer_vector = Constant<Ray<3, fltp08>>::Invalid
protected

◆ m_calibration_id

UUID m_calibration_id
protected

◆ m_calibration_offset

Matrix<fltp08> m_calibration_offset
protected

◆ m_calibration_percent

fltp04 m_calibration_percent
protected

◆ m_calibration_time

Time m_calibration_time
protected

◆ m_device_specified_offsets

Vector<3, Angle<fltp08> > m_device_specified_offsets
protected

◆ m_gyro_calibration_requested

bool m_gyro_calibration_requested = false
protected

◆ m_gyro_state

GyroState m_gyro_state
protected

◆ m_has_calibrated_drift

bool m_has_calibrated_drift = false
protected

◆ m_imu_calibrator

IMUCalibrator* m_imu_calibrator = nullptr
protected

◆ m_is_gyro_updating

bool m_is_gyro_updating = false
protected

◆ m_is_locked

bool m_is_locked = false
protected

◆ m_magnetometer_state

MagnetometerState m_magnetometer_state
protected

◆ m_raw_magnetometer_vector

Ray<3, fltp08> m_raw_magnetometer_vector = Constant<Ray<3, fltp08>>::Invalid
protected

◆ m_roll_lock

Angle<fltp08> m_roll_lock
protected

◆ m_roll_lock_reference_yaw

Angle<fltp08> m_roll_lock_reference_yaw
protected

◆ m_tilt_angle

Vector<3, Angle<fltp08> > m_tilt_angle
protected

◆ m_user_specified_offsets

Vector<3, Angle<fltp08> > m_user_specified_offsets
protected

◆ m_using_accelerometer

bool m_using_accelerometer = false
protected

◆ m_using_compass

bool m_using_compass = false
protected

◆ m_using_gyro

bool m_using_gyro = false
protected

◆ m_yaw_lock

Angle<fltp08> m_yaw_lock
protected

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