AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxSensor::Encoder Class Reference

Encoder instance class defined by an attachment constraint and a model. More...

#include <Encoder.h>

+ Inheritance diagram for agxSensor::Encoder:

Public Member Functions

 Encoder (agx::Constraint *constraint, EncoderModel *model, agx::UInt sampleDof)
 Construct this encoder with the given model and attached to the given constraint.
 
 Encoder (agx::CylindricalJoint *cylindrical, EncoderModel *model, agx::Constraint2DOF::DOF sampleDof=agx::Constraint2DOF::FIRST)
 Construct this encoder with the given model and attached to the given cylindrical joint constraint.
 
 Encoder (agx::Hinge *hinge, EncoderModel *model)
 Construct this encoder with the given model and attached to the given hinge constraint.
 
 Encoder (agx::Prismatic *prismatic, EncoderModel *model)
 Construct this encoder with the given model and attached to the given prismatic constraint.
 
 Encoder (agx::SlackCylindricalJoint *cylindrical, EncoderModel *model, agx::Constraint2DOF::DOF sampleDof=agx::Constraint2DOF::FIRST)
 Construct this encoder with the given model and attached to the given slack cylindrical joint constraint.
 
 Encoder (agx::SlackHingeJoint *hinge, EncoderModel *model)
 Construct this encoder with the given model and attached to the given slack hinge constraint.
 
 Encoder (agx::SlackPrismatic *prismatic, EncoderModel *model)
 Construct this encoder with the given model and attached to the given slack prismatic constraint.
 
 Encoder (agx::SplineJoint *spline, EncoderModel *model, agx::Constraint2DOF::DOF sampleDof=agx::Constraint2DOF::FIRST)
 Construct this encoder with the given model and attached to the given spline constraint.
 
 Encoder (agxVehicle::WheelJoint *wheel, EncoderModel *model, agxVehicle::WheelJoint::SecondaryConstraint sampleDof=agxVehicle::WheelJoint::WHEEL)
 Construct this encoder with the given model and attached to the given wheel joint constraint.
 
virtual agx::Constraint * getConstraint () const override
 
agx::UInt getConstraintSampleDof () const
 
EncoderModel * getModel () const
 
EncoderOutputHandler * getOutputHandler () const
 
virtual ISensorOutputHandler * getOutputHandlerBase () const override
 
virtual void setConstraint (agx::Constraint *constraint) override
 Assign a new parent constraint to attach this encoder to.
 
void setConstraintSampleDof (agx::UInt dof)
 Set the DoF in the constraint form which the encoder samples the positional value.
 
- Public Member Functions inherited from agxSensor::ConstraintAttachedSensor
 ConstraintAttachedSensor ()=default
 Default constructor.
 
virtual agx::Constraint * getConstraint () const =0
 
virtual void setConstraint (agx::Constraint *constraint)=0
 Assign a new parent constraint to attach this sensor to.
 
- Public Member Functions inherited from agxSensor::Sensor
 Sensor ()=default
 Default constructor.
 
ISensorOutputHandler * getOutputHandler () const
 
virtual ISensorOutputHandler * getOutputHandlerBase () const =0
 
- Public Member Functions inherited from agxSensor::SystemNode
 SystemNode (const SystemNode &)=delete
 Disallow direct copying of nodes.
 
virtual ~SystemNode ()=default
 
bool addChild (SystemNode *child)
 Add unique child to this node.
 
virtual bool addNotification ()
 Called when this system node has been added to a sensor environment.
 
bool appendChild (SystemNode *child)
 Append child to vector of children, silently.
 
virtual void cleanup ()=0
 The sensor environment is being put down, clean everything.
 
virtual void complete ()
 Complete the execution of this system, finishing the integration forward in time.
 
bool detachChild (SystemNode *child)
 Detach/erase child from vector of children, silently.
 
virtual bool eraseAndConnect ()
 Erase this node from the tree and connect its children to the current parent of this node.
 
virtual void execute (const CallbackData &data)
 Execute this system, integrating it data.dt forward in time.
 
template<typename T >
T * findChild (bool recurse=true) const
 Find child of given type.
 
template<typename PredicateT >
SystemNode * findChild (PredicateT pred, bool recurse=true) const
 Find child given predicate pred.
 
template<typename T >
T * findParent () const
 
template<typename PredicateT >
SystemNode * findParent (PredicateT pred) const
 Find parent given predicate.
 
template<typename T >
T * getChild () const
 Searches children for a node of given type.
 
SystemNode * getChild (size_t index) const
 
bool getEnable () const
 
Environment * getEnvironment () const
 
const agx::Name & getName () const
 
size_t getNumChildren () const
 
SystemNode * getParent () const
 
SystemNode * getRoot () const
 
bool hasChild (const SystemNode *child, bool recurse=true) const
 
virtual bool insertParent (SystemNode &parent)
 Inserts new parent to this node.
 
virtual bool onAdd (agx::Referenced &instance)
 Called when an object has been added to the sensor environment.
 
virtual void onChildAdded (SystemNode &child)
 Called when child has been added to this parent.
 
virtual void onChildRemoved (SystemNode &child)
 Called when child has been removed from this parent.
 
virtual bool onRemove (agx::Referenced &instance)
 Called when an object has been removed from the sensor environment.
 
bool removeChild (SystemNode *child)
 Remove child from this node.
 
virtual void removeNotification ()
 Called when this system node is being removed from a sensor environment.
 
virtual void result (const CallbackData &data)
 If necessary assemble, and fetch results related to this system node after a step by data.dt has been completed.
 
void setEnable (bool enable)
 Enable/disable this node.
 
void setName (const agx::Name &name)
 Assign name to this node.
 
virtual void synchronize (const CallbackData &data)
 Synchronization from the main thread.
 
virtual void synchronizeGraphics (const agxRender::RenderManager &renderManager)
 At the very end of a step, synchronize any graphics related aspects of the system node.
 
template<typename VisitorT >
SystemNode * visitBf (VisitorT visitor) const
 Visit the tree from, including, this node until callback returns true - using breadth first traversal.
 
template<typename VisitorT >
void visitChildren (VisitorT visitor, bool recurse=true) const
 Visit all children with func as void( const SystemNode& child ).
 
template<typename VisitorT >
SystemNode * visitChildrenBf (VisitorT visitor) const
 Visit the tree from the children of this node until callback returns true - using breadth first traversal.
 
template<typename VisitorT >
SystemNode * visitChildrenDf (VisitorT visitor) const
 Visit the tree from the children of this node until callback returns true - using depth first traversal.
 
template<typename T , typename VisitorT >
void visitChildrenOfType (VisitorT visitor, bool recurse=true) const
 Visit all children with func as void( const T& child ).
 
template<typename VisitorT >
SystemNode * visitDf (VisitorT visitor) const
 Visit the tree from, including, this node until callback returns true - using depth first traversal.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referenced & operator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Static Public Member Functions

static Encoder * find (const agxSDK::Simulation *simulation, const agx::Name &name)
 Find encoder given name.
 
static Encoder * find (const Environment *environment, const agx::Name &name)
 Find encoder given name.
 
static EncoderPtrVector findAll (const agxSDK::Simulation *simulation)
 Find all encoders.
 
static EncoderPtrVector findAll (const agxSDK::Simulation *simulation, const agx::Name &name)
 Find all encoders, given name.
 
static EncoderPtrVector findAll (const Environment *environment)
 Find all encoders.
 
static EncoderPtrVector findAll (const Environment *environment, const agx::Name &name)
 Find all encoders, given name.
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Additional Inherited Members

- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Encoder instance class defined by an attachment constraint and a model.

Any output is accessed through the EncoderOutputHandler.

Definition at line 43 of file Encoder.h.

Constructor & Destructor Documentation

◆ Encoder() [1/9]

agxSensor::Encoder::Encoder ( agx::CylindricalJoint *  cylindrical,
EncoderModel *  model,
agx::Constraint2DOF::DOF  sampleDof = agx::Constraint2DOF::FIRST 
)

Construct this encoder with the given model and attached to the given cylindrical joint constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
cylindrical- cylindrical constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr
sampleDof- DoF index from which the encoder should sample

◆ Encoder() [2/9]

agxSensor::Encoder::Encoder ( agx::Hinge *  hinge,
EncoderModel *  model 
)

Construct this encoder with the given model and attached to the given hinge constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
hinge- hinge constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr

◆ Encoder() [3/9]

agxSensor::Encoder::Encoder ( agx::Prismatic *  prismatic,
EncoderModel *  model 
)

Construct this encoder with the given model and attached to the given prismatic constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
prismatic- prismatic constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr

◆ Encoder() [4/9]

agxSensor::Encoder::Encoder ( agx::SplineJoint *  spline,
EncoderModel *  model,
agx::Constraint2DOF::DOF  sampleDof = agx::Constraint2DOF::FIRST 
)

Construct this encoder with the given model and attached to the given spline constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
spline- spline constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr
sampleDof- DoF index from which the encoder should sample

◆ Encoder() [5/9]

agxSensor::Encoder::Encoder ( agx::SlackCylindricalJoint *  cylindrical,
EncoderModel *  model,
agx::Constraint2DOF::DOF  sampleDof = agx::Constraint2DOF::FIRST 
)

Construct this encoder with the given model and attached to the given slack cylindrical joint constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
cylindrical- slack cylindrical constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr
sampleDof- DoF index from which the encoder should sample

◆ Encoder() [6/9]

agxSensor::Encoder::Encoder ( agx::SlackHingeJoint *  hinge,
EncoderModel *  model 
)

Construct this encoder with the given model and attached to the given slack hinge constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
hinge- slack hinge constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr

◆ Encoder() [7/9]

agxSensor::Encoder::Encoder ( agx::SlackPrismatic *  prismatic,
EncoderModel *  model 
)

Construct this encoder with the given model and attached to the given slack prismatic constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
prismatic- slack prismatic constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr

◆ Encoder() [8/9]

agxSensor::Encoder::Encoder ( agxVehicle::WheelJoint *  wheel,
EncoderModel *  model,
agxVehicle::WheelJoint::SecondaryConstraint  sampleDof = agxVehicle::WheelJoint::WHEEL 
)

Construct this encoder with the given model and attached to the given wheel joint constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
wheel- wheel constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr
sampleDof- DoF index from which the encoder should sample

◆ Encoder() [9/9]

agxSensor::Encoder::Encoder ( agx::Constraint *  constraint,
EncoderModel *  model,
agx::UInt  sampleDof 
)

Construct this encoder with the given model and attached to the given constraint.

Note
This encoder instance is invalid if the given model is nullptr.
Parameters
constraint- constraint to attach to and sample from
model- model defining the parameters of this encoder instance, invalid if nullptr
sampleDof- DoF index from which the encoder should sample

Member Function Documentation

◆ find() [1/2]

static Encoder * agxSensor::Encoder::find ( const agxSDK::Simulation *  simulation,
const agx::Name &  name 
)
static

Find encoder given name.

Parameters
simulation- simulation with a sensor environment
name- name of encoder instance to search for
Returns
first encoder instance with name name if found, otherwise nullptr

◆ find() [2/2]

static Encoder * agxSensor::Encoder::find ( const Environment *  environment,
const agx::Name &  name 
)
static

Find encoder given name.

Parameters
environment- sensor environment
name- name of encoder instance to search for
Returns
first encoder instance with name name if found, otherwise nullptr

◆ findAll() [1/4]

static EncoderPtrVector agxSensor::Encoder::findAll ( const agxSDK::Simulation *  simulation)
static

Find all encoders.

Parameters
simulation- simulation with a sensor environment
Returns
all encoder instances in the sensor environment

◆ findAll() [2/4]

static EncoderPtrVector agxSensor::Encoder::findAll ( const agxSDK::Simulation *  simulation,
const agx::Name &  name 
)
static

Find all encoders, given name.

Parameters
simulation- simulation with a sensor environment
name- name of encoder instance to search for
Returns
encoder instances with name name

◆ findAll() [3/4]

static EncoderPtrVector agxSensor::Encoder::findAll ( const Environment *  environment)
static

Find all encoders.

Parameters
environment- sensor environment
Returns
all encoder instances in the given sensor environment environment

◆ findAll() [4/4]

static EncoderPtrVector agxSensor::Encoder::findAll ( const Environment *  environment,
const agx::Name &  name 
)
static

Find all encoders, given name.

Parameters
environment- sensor environment
name- name of encoder instance to search for
Returns
encoder instances with name name

◆ getConstraint()

virtual agx::Constraint * agxSensor::Encoder::getConstraint ( ) const
overridevirtual
Returns
the constraint of this encoder, defining what the encoder is attached to

Implements agxSensor::ConstraintAttachedSensor.

◆ getConstraintSampleDof()

agx::UInt agxSensor::Encoder::getConstraintSampleDof ( ) const
Returns
DoF index in the constraint from which the encoder samples the positional value

◆ getModel()

EncoderModel * agxSensor::Encoder::getModel ( ) const
Returns
the model of this encoder

◆ getOutputHandler()

EncoderOutputHandler * agxSensor::Encoder::getOutputHandler ( ) const
Returns
the output handler managing the outputs from the encoder

◆ getOutputHandlerBase()

virtual ISensorOutputHandler * agxSensor::Encoder::getOutputHandlerBase ( ) const
overridevirtual
Returns
the output handler managing the outputs from the encoder

Implements agxSensor::Sensor.

◆ setConstraint()

virtual void agxSensor::Encoder::setConstraint ( agx::Constraint *  constraint)
overridevirtual

Assign a new parent constraint to attach this encoder to.

The effects will take place the next time the environment is stepped.

Parameters
constraint- new constraint for this encoder

Implements agxSensor::ConstraintAttachedSensor.

◆ setConstraintSampleDof()

void agxSensor::Encoder::setConstraintSampleDof ( agx::UInt  dof)

Set the DoF in the constraint form which the encoder samples the positional value.

Parameters
dof- DoF index in the constraint to sample

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