Actin  Version 5.5.2
Software for Robotics Simulation and Control
EcManipulatorSystem Class Reference

Holds a description of an entire manipulator system. More...

#include <ecManipSystem.h>

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

Public Types

enum  {
  SWEEPANDPRUNE,
  AVLTREE,
  OCTREE,
  DYNAMICSTATIC
}
 Enumeration to select the broadphase collision processor. More...
 
- Public Types inherited from EcXmlCompoundType
enum  {
  READONLYCOMPONENT = 0,
  READONLYATTRIBUTE
}
 special-descriptor codes More...
 

Public Member Functions

 EcManipulatorSystem ()
 default constructor
 
virtual ~EcManipulatorSystem ()
 destructor
 
 EcManipulatorSystem (const EcManipulatorSystem &orig, EcFoundCommon::DeepCopyFlag copyFlag=EcFoundCommon::CopyNone)
 
EcManipulatorSystemoperator= (const EcManipulatorSystem &orig)
 assignment operator
 
EcBoolean operator== (const EcManipulatorSystem &orig) const
 equality operator
 
virtual EcBoolean mergeWith (const EcManipulatorSystem &other)
 merge operation
 
virtual EcBoolean xmlInit () EC_OVERRIDE
 initialize XML components for reading and writing
 
virtual EcXmlObjectclone () const EC_OVERRIDE
 clone - a virtual constructor to an EcXmlObject pointer
 
virtual void registerComponents () EC_OVERRIDE
 register components with the parent
 
virtual EcBoolean equality (const EcXmlObject *other) const EC_OVERRIDE
 equality - virtual equality to an EcXmlObject pointer
 
virtual EcXmlObjectnewObject () const EC_OVERRIDE
 virtual new that returns an EcXmlObject
 
virtual EcU32 jointDof () const
 gets the number of joint degrees of freedom in the system.
 
virtual const EcU32 jointDof (const EcU32 &index) const
 gets the number of joint degrees of freedom for a manipulator in the system.
 
virtual EcU32 jointAndBaseDof () const
 gets the number of joint and base pose degrees of freedom in the system.
 
virtual const EcSystemEnvironmentenvironment () const
 gets upward pointing gravity vector and other environmental data
 
virtual void setEnvironment (const EcSystemEnvironment &environment)
 sets upward pointing gravity vector and other environmental data
 
virtual EcBoolean buildShapeLevelAABB () const
 get whether to build AABB at shape level
 
virtual void setBuildShapeLevelAABB (const EcBoolean buildShapeLevel)
 set whether to build AABB at shape level
 
virtual EcU32 bvhBuildLevelForAABB () const
 Get the build level to use when building AABB.
 
virtual void setBvhBuildLevelForAABB (const EcU32 aabbBvhLevel)
 Set the BVH level to use when buidlng AABB.
 
virtual EcU32 broadphaseAlgorithm () const
 gets the current broadphase (AABB intersection) algorithm
 
virtual void setBroadphaseAlgorithm (EcU32 broadphaseAlgorithm)
 Sets the current broadphase (AABB intersection) algorithm.
 
EcBoolean useBroadphaseCollisionLimits () const
 gets whether to use collision bounds for broadphase
 
void setUseBroadphaseCollisionLimits (EcBoolean useCollisionLimits)
 sets whether to use collision bounds for broadphase
 
const EcAxisAlignedBoundingBoxbroadphaseCollisionLimits () const
 gets collision bounds for broadphase
 
void setBroadphaseCollisionLimits (const EcAxisAlignedBoundingBox &collisionLimits)
 sets collision bounds for broadphase
 
virtual EcU32 maxOctreeHeight () const
 
virtual void setMaxOctreeHeight (EcU32 treeHeight)
 
virtual const EcIndividualManipulatorVectormanipulators () const
 gets manipulators
 
virtual void setManipulators (const EcIndividualManipulatorVector &manipulators)
 sets manipulators
 
virtual void addManipulator (const EcIndividualManipulator &manipulator)
 adds one manipulator
 
virtual EcBoolean exchangeManipulator (EcU32 manipulatorIndex, const EcIndividualManipulator &manipulator)
 
virtual EcBoolean exchangeManipulator (const EcString &manipulatorLabel, const EcIndividualManipulator &manipulator)
 
virtual EcInt32 deleteManipulator (const EcString &manipLabel)
 deletes a manipulator from the system More...
 
virtual EcBoolean deleteManipulator (EcU32 manipIndex)
 delete a manipulator and corresponding position and velocity states by index. More...
 
virtual EcBoolean changeManipulatorLabel (const EcString &manipLabel, const EcString &newLabel)
 changes manipulator label
 
virtual const EcIndividualManipulatormanipulatorByIdentifier (const EcString &label) const
 
EcBoolean setNamedFrames (const EcU32 manIndex, const EcU32 linkIndex, const EcNamedFrames &namedFrames)
 set named frames for a manipulator link
 
virtual void mapManipulators ()
 set the manipIndex for each manipulator
 
virtual EcBoolean buildBoundingBoxTreeFromEnvironment (EcManipulatorActiveStateVector &actState)
 
virtual void setFromIndividualManipulator (const EcIndividualManipulator &manipulator)
 
virtual const EcLinkInteractionsVectorlinkInteractionsVector () const
 get link interaction vector
 
virtual void setLinkInteractionsVector (const EcLinkInteractionsVector &linkInteractionsVector)
 set link interaction vector
 
virtual const EcSystemCollisionExclusionMapcollisionExclusionMap () const
 get the collision exclusion map
 
virtual void setCollisionExclusionMap (const EcSystemCollisionExclusionMap &value)
 set the collision exclusion map
 
virtual const EcOldManipulatorAttachmentMapmanipulatorAttachmentMap () const
 get the manipulator attachment map – deprecated
 
virtual void propagateStateBy (EcManipulatorSystemState &state, EcReal deltaT) const
 
virtual void propagateSingleStateBy (EcU32 index, const EcVelocityState &velocityState, EcReal deltaT, EcPositionState &positionState) const
 
virtual void rightSizeState (EcManipulatorSystemState &state) const
 
virtual EcBoolean isCompatible (const EcManipulatorSystemState &state) const
 check compatibility with a state
 
virtual EcSphere absoluteBoundingSphere (const EcManipulatorSystemState &state) const
 
virtual EcU32 numberOfManipulators () const
 get the number of manipulators in the system
 
virtual void processLinkInteractions (EcSystemActiveState &actState, const EcReal &time, const EcManipulatorTorqueVector &torqueVec) const
 process the link interactions if required
 
virtual const EcU32 collisionDetectionPrecisionLevel () const
 
virtual EcBoolean findAndConvertToReferences ()
 find and convert explicit manipulator link descriptions to references
 
virtual EcBoolean setSurfacesByKey (const EcShapeStateCacheKey &key, const EcStringDataMapMap &surfaces)
 set shape surface properties by the key.
 
virtual EcBoolean setJointLimit (EcU32 manipulatorIndex, const EcString &linkLabel, EcBoolean isLowerLimit, EcReal value)
 set the new value for a joint limit More...
 
virtual EcBoolean setPrimaryFrame (const EcU32 manipulatorIndex, const EcString &linkLabel, const EcCoordinateSystemTransformation primaryFrame, EcBoolean applyToReferencedManipulators)
 
virtual EcBoolean canCollide (EcU32 manip1Index, EcU32 link1Index, EcU32 manip2Index, EcU32 link2Index) const
 
virtual EcBoolean replaceLinkProperties (EcU32 manipulatorIndex, const EcString &linkLabel, const EcManipulatorLink &newLink, EcBoolean includeShapeContainer=EcFalse)
 replace the link properties (link kinematics, mass properties, joint actuator, shape container, etc.) of the link identified by linkLabel with the properties of newLink. More...
 
virtual const EcTokentoken () const EC_OVERRIDE
 gets the xml token used for writing out. More...
 
virtual EcBoolean read (EcXmlReader &stream) EC_OVERRIDE
 read this object from an XML stream
 
virtual EcBoolean write (EcXmlWriter &stream) const EC_OVERRIDE
 write this object to an XML stream
 
virtual void truncateValues (const EcReal &precision=1e-10)
 truncate values in the physical extents to the precision specified.
 
virtual void getNumberOfShapes (EcU32VectorVector &systemNumShapes) const
 get the number of shapes in each link of each manipulator in the system
 
EcBoolean setSelfCollisionMap (const EcManipulatorSelfCollisionLinkMap &map, const EcU32 &manipID)
 set the self collisin map for manipulator manipID
 
EcU32 countAllReadableLinks () const
 
virtual EcBoolean combineManipulator (const EcU32 depManipIndex, const EcU32 baseManipIndex, const EcString &baseLinkLabel, const EcCoordinateSystemTransformation &offset)
 Rigidly combine manipulators based on the attachment. More...
 
virtual EcBoolean uncombineManipulator (const EcString &depManipLabel, EcString &baseManipLabel, EcString &baseLinkLabel, EcCoordinateSystemTransformation &offsets)
 Uncombine manipulator. More...
 
virtual const EcLabelPoollabelPool () const
 gets the label pool
 
virtual void unreferenceShapes ()
 
virtual EcBoolean replaceLinkShape (EcU32 manipIndex, const EcString &linkLabel, const EcShape &shape, EcU32 bvhLevel, EcBoolean alwaysReplace=EcFalse)
 
virtual EcBoolean replaceLinkShape (EcU32 manipIndex, const EcU32 linkIndex, const EcShape &shape, EcU32 bvhLevel, EcBoolean alwaysReplace=EcFalse)
 
virtual EcBoolean replaceLinkKinematics (EcU32 manipIndex, const EcString &linkLabel, const EcLinkKinematics &newKinematics)
 
virtual const EcNamedFramesnamedFrames () const
 returns the map of named frames
 
virtual void setNamedFrames (const EcNamedFrames &value)
 sets the map of named frames
 
virtual EcBoolean lookupNamedFrame (const EcString &key, EcCoordinateSystemTransformation &frame) const
 returns a frame
 
virtual EcBoolean addNamedFrame (const EcString &key, const EcCoordinateSystemTransformation &frame)
 adds a frame to the map
 
virtual const EcBooleanVectorcurrentStaticManips () const
 get the vector indicating the current static manipulators
 
virtual void setCurrentStaticManips (const EcBooleanVector &currentStaticManips)
 set the vector of flags indicating current static manipulators
 
virtual EcBoolean manipulatorCurrentlyStatic (EcU32 manipIndex) const
 check if the specified manipulator is currently static
 
virtual void setManipulatorCurrentlyStatic (EcU32 manipIndex, EcBoolean isStatic)
 set if the specified manipulator is currently static
 
virtual EcBoolean manipulatorCanBeStatic (EcU32 manipIndex) const
 check if the specified manipulator can ever be static
 
virtual void setManipulatorCanBeStatic (EcU32 manipIndex, EcBoolean canBeStatic)
 set if the specified manipulator can ever be static
 
virtual void setManipulatorIsReferencedBy (EcU32 manipIndex, EcBoolean isReferencedBy)
 Set the manipulatorIsReferencedBy flag to true for the given manipIndex.
 
- Public Member Functions inherited from EcXmlCompoundType
 ECDECLARE_BIGFOUR (EcXmlCompoundType)
 
virtual EcBoolean readAttributes (EcXmlReader &stream)
 read object attributes from an XML stream
 
virtual EcBoolean readElements (EcXmlReader &stream)
 read object elements from an XML stream
 
virtual EcBoolean writeAttributes (EcXmlWriter &stream) const
 write object attributes to an XML stream
 
virtual EcBoolean writeElements (EcXmlWriter &stream) const
 write object elements to an XML stream
 
virtual EcBoolean writeSchema (EcXmlSchema &stream) const EC_OVERRIDE
 write schema
 
virtual EcBoolean writeSchemaAttributes (EcXmlSchema &stream) const
 write schema attributes
 
virtual EcBoolean writeSchemaElements (EcXmlSchema &stream) const
 write schema elements
 
virtual void registerComponent (const EcToken &token, EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponent (EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponentReadOnly (const EcToken &token, EcXmlObject *obj)
 register a single component as read-only More...
 
virtual const EcXmlComponentMapcomponentMap () const
 get a reference to the component map
 
virtual void registerAttributeComponent (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component More...
 
virtual void registerAttributeComponentReadOnly (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component read-only More...
 
virtual const EcXmlComponentMapattributeComponentMap ()
 get a reference to the component attribute map
 
virtual const EcXmlSpecialDescriptorMapspecialDescriptorMap ()
 get a reference to the special-descriptor map
 
virtual void registerComponentDescriptor (const EcToken &xmlToken, const EcToken &descriptorToken, const EcString &descriptorString)
 register an XML token-string descriptor More...
 
virtual const EcXmlTokenStringDescriptorMapMaptokenStringDescriptorMap ()
 get a reference to the XML token-string descriptor map
 
virtual EcBoolean hasChildren () const
 return EcTrue if there are children components or EcFalse if an empty element.
 
virtual EcBoolean hasAttributes () const
 return EcTrue if there are attributes in the element.
 
- Public Member Functions inherited from EcXmlObject
 ECDECLARE_BIGFOUR (EcXmlObject)
 
virtual EcBoolean readAttribute (EcXmlReader &stream)
 read this attribute from an XML stream
 
virtual EcBoolean createSchema (const EcString &filename, const EcToken &objectName=EcXml::EcDefaultToken) const
 create schema
 
virtual EcBoolean xmlInitialized () const
 get XML initialized flag. This bit is set on initialization.
 
virtual void setXmlInitialized (EcBoolean val=EcTrue)
 set XML initialized flag. This bit is set on initialization.
 
virtual EcBoolean specified () const
 get specified flag. This bit is set upon reading from an XML file.
 
virtual void setSpecified (EcBoolean val=EcTrue)
 set specified flag. This bit is set upon reading from an XML file.
 
virtual EcBoolean isBasicType () const
 Return true/false for basic type.
 
virtual EcBoolean equalsDefault () const
 tests equality of XML object with default
 

Static Public Member Functions

static const EcTokenclassToken ()
 token for this class
 
static EcXmlObjectcreator ()
 static creator function
 
static EcManipulatorSystem nullObject ()
 get a null object
 

Protected Member Functions

virtual void registerEnumerations (void)
 registers enumeration strings for the Broadphase CD Algo
 
virtual EcBoolean aboutToModifyManipulator (const EcString &manipLabel)
 update references to prepare for modification More...
 
virtual EcBoolean aboutToModifyManipulator (EcU32 manipulatorIndex)
 update references to prepare for modification More...
 
virtual void computeCollisionDetectionPrecisionLevel ()
 compute the collision detection precision level
 
EcBoolean getCraigDhParameters (EcRealVectorVector &dhParameters) const
 
virtual EcBoolean changeManipulatorLabelWithoutCheckingUniqueness (const EcU32 index, const EcString &toLabel)
 
- Protected Member Functions inherited from EcXmlCompoundType
virtual EcBoolean readValueFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcBoolean readValueFromSpecialToken (const EcToken &token, EcXmlReader &stream)
 read value from unregistered token
 
virtual EcBoolean readAttributeFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcXmlComponentMapnewComponentMap () const
 allocate a new componentMap
 
virtual EcXmlSpecialDescriptorMapnewSpecialDescriptorMap ()
 allocate a new specialDescriptorsMap
 
virtual EcXmlTokenStringDescriptorMapMapnewTokenStringDescriptorMap ()
 allocate a new tokenStringDescriptorsMap
 
virtual void createComponentMap () const
 create component map
 
virtual void createAttributeComponentMap ()
 create attribute component map
 
virtual void createSpecialDescriptorMap ()
 create special-descriptors map
 
virtual void createTokenStringDescriptorMap ()
 create token-string descriptor map
 
virtual EcBoolean isReadOnlyComponent (const EcToken token) const
 check to see if the token corresponds to a read-only component
 
virtual EcBoolean isReadOnlyAttribute (const EcToken token) const
 check to see if the token corresponds to a read-only attribute
 
virtual EcXmlObjectlibraryAttribute ()
 

Additional Inherited Members

- Protected Attributes inherited from EcXmlCompoundType
EcXmlComponentMapm_pComponentMap
 
EcXmlComponentMapm_pAttributeComponentMap
 
EcXmlSpecialDescriptorMapm_pSpecialDescriptorMap
 
EcXmlTokenStringDescriptorMapMapm_pComponentMapTokenStringDescriptor
 
- Protected Attributes inherited from EcXmlObject
EcU8 m_State
 the state of the object - eight boolean flags
 
- Static Protected Attributes inherited from EcXmlObject
static const EcU8 m_theXmlInitializedBit
 the bit used to describe xml initialization
 
static const EcU8 m_theSpecifiedBit
 the bit used to describe specification
 

Detailed Description

Holds a description of an entire manipulator system.

The complete manipulator system. This includes any number of individual robots and a description of the environment (location/translation & gravity vector). It does not include system state.

The system can include any number of bifurcating manipulators with any base location.

Examples:
ecCollisionAvoidanceExample.cpp, and ecProgrammaticConstructionMain.cpp.

Definition at line 39 of file ecManipSystem.h.

Member Enumeration Documentation

anonymous enum

Enumeration to select the broadphase collision processor.

Enumerator
SWEEPANDPRUNE 

The default sweep-and-prune algorithm.

AVLTREE 

A Dynamic, self-balanacing Bounding Volume Hierarchy tree.

OCTREE 

A spatial partitioning tree which recursively divides the space into 8 octants.

DYNAMICSTATIC 

A processor which uses an octree for static objects and sweep and prune for moving objects.

Definition at line 43 of file ecManipSystem.h.

Constructor & Destructor Documentation

EcManipulatorSystem::EcManipulatorSystem ( const EcManipulatorSystem orig,
EcFoundCommon::DeepCopyFlag  copyFlag = EcFoundCommon::CopyNone 
)

copy constructor

Parameters
[in]origEcManipulatorSystem to copy from
[in]copyFlag
See also
EcFoundCommon::DeepCopyFlag. Only None and Shape are valid flags for this.

Member Function Documentation

virtual EcBoolean EcManipulatorSystem::aboutToModifyManipulator ( const EcString manipLabel)
protectedvirtual

update references to prepare for modification

Parameters
[in]manipLabelThe string label of the manipulator that is about to be modified.
Returns
True if successful.
virtual EcBoolean EcManipulatorSystem::aboutToModifyManipulator ( EcU32  manipulatorIndex)
protectedvirtual

update references to prepare for modification

Parameters
[in]manipulatorIndexThe index of the manipulator that is about to be modified.
Returns
True if successful.
virtual EcSphere EcManipulatorSystem::absoluteBoundingSphere ( const EcManipulatorSystemState state) const
virtual

calculate a bounding sphere given an external state. This bounding sphere is a function of the base positions and orientations, but not the joint positions.

virtual EcBoolean EcManipulatorSystem::buildBoundingBoxTreeFromEnvironment ( EcManipulatorActiveStateVector actState)
virtual

build a bounding box tree that contains all the fixed-base base only manipulators. These are environmental obstacles.

virtual EcBoolean EcManipulatorSystem::canCollide ( EcU32  manip1Index,
EcU32  link1Index,
EcU32  manip2Index,
EcU32  link2Index 
) const
virtual

returns a boolean describing whether two links on two DIFFERENT manipulators can collide based on the static collision exclusion map in this manipulator system

virtual EcBoolean EcManipulatorSystem::changeManipulatorLabelWithoutCheckingUniqueness ( const EcU32  index,
const EcString toLabel 
)
protectedvirtual

change a manipulator label without checking the uniqueness of the new label only update reference description

virtual const EcU32 EcManipulatorSystem::collisionDetectionPrecisionLevel ( ) const
virtual

get the level in the bounding volume heirarch being used for collision detection (returns 0 if no collision detection processor specified)

virtual EcBoolean EcManipulatorSystem::combineManipulator ( const EcU32  depManipIndex,
const EcU32  baseManipIndex,
const EcString baseLinkLabel,
const EcCoordinateSystemTransformation offset 
)
virtual

Rigidly combine manipulators based on the attachment.

Parameters
[in]depManipIndexthe index of the dependent manipulator
[in]baseManipIndexthe index of the base manipulator
[in]baseLinkLabelthe label of the base link
[in]offsetthe offset
EcU32 EcManipulatorSystem::countAllReadableLinks ( ) const

Count all the links in all manipulators in the system return: total link count

virtual EcInt32 EcManipulatorSystem::deleteManipulator ( const EcString manipLabel)
virtual

deletes a manipulator from the system

Parameters
[in]manipLabelThe string label of the manipulator to be deleted.
Returns
The index of the deleted manipulator if the manipulator was found and successfully deleted. If the manipulator was not found, then this returns -1.
virtual EcBoolean EcManipulatorSystem::deleteManipulator ( EcU32  manipIndex)
virtual

delete a manipulator and corresponding position and velocity states by index.

Parameters
[in]manipIndexThe index of the manipulator to be deleted.
Returns
True if manipIndex is valid and the manipulator is successfully deleted or false otherwise.
virtual EcBoolean EcManipulatorSystem::exchangeManipulator ( EcU32  manipulatorIndex,
const EcIndividualManipulator manipulator 
)
virtual

Exchange an existing manipulator (specified by index) with a new manipulator. The label of the new manipulator maybe renamed to avoid label conflict.

virtual EcBoolean EcManipulatorSystem::exchangeManipulator ( const EcString manipulatorLabel,
const EcIndividualManipulator manipulator 
)
virtual

Exchange an existing manipulator (specified by label) with a new manipulator. The label of the new manipulator will be named manipulatorLabel.

EcBoolean EcManipulatorSystem::getCraigDhParameters ( EcRealVectorVector dhParameters) const
protected

Get the DH parameters for the robot in Craig's formalism format: a, alpha, d if the link kinematics do not support Craig's notation, then the values are empty

virtual const EcIndividualManipulator* EcManipulatorSystem::manipulatorByIdentifier ( const EcString label) const
virtual

gets a pointer to the manipulator with the specified identifier returns NULL if it doesn't exist.

virtual EcU32 EcManipulatorSystem::maxOctreeHeight ( ) const
virtual

gets the maximum height of the octree (if dynamic-static or octree broadphase processors are being used

virtual void EcManipulatorSystem::propagateSingleStateBy ( EcU32  index,
const EcVelocityState velocityState,
EcReal  deltaT,
EcPositionState positionState 
) const
virtual

propagate a single state by delta-t. This keeps the same velocity state and integrates the position state using forward Euler. The manipulator number is given by index.

virtual void EcManipulatorSystem::propagateStateBy ( EcManipulatorSystemState state,
EcReal  deltaT 
) const
virtual

propagate full state by delta-t. This keeps the same velocity state and integrates the position state using forward Euler. Time is incremented.

virtual EcBoolean EcManipulatorSystem::replaceLinkKinematics ( EcU32  manipIndex,
const EcString linkLabel,
const EcLinkKinematics newKinematics 
)
virtual

replace the kinematics the link identified by linkLabel in the manipulator given by the manipulator index. Note that if the manipulator is referenced, this method will have to unreference it and make a new copy of the manipulator.

See also
EcIndividualManipulator::replaceLinkKinematics
virtual EcBoolean EcManipulatorSystem::replaceLinkProperties ( EcU32  manipulatorIndex,
const EcString linkLabel,
const EcManipulatorLink newLink,
EcBoolean  includeShapeContainer = EcFalse 
)
virtual

replace the link properties (link kinematics, mass properties, joint actuator, shape container, etc.) of the link identified by linkLabel with the properties of newLink.

Parameters
[in]manipulatorIndexThe index of the manipulator to which the link belongs.
[in]linkLabelThe string identifier of the link whose properties are to be changed.
[in]newLinkA link whose properties will be used.
[in]includeShapeContainerIf true, the shape container of the link identified by linkLabel will be replaced by the shape container of newLink. Shape container is a special case because of it may be referenced, in which case it needs to be unreferenced. The default is false, i.e. the shape container will not be replaced.
Returns
True if successful or false if linkLabel is invalid.
virtual EcBoolean EcManipulatorSystem::replaceLinkShape ( EcU32  manipIndex,
const EcString linkLabel,
const EcShape shape,
EcU32  bvhLevel,
EcBoolean  alwaysReplace = EcFalse 
)
virtual

replace the shape of the link identified by linkLabel in the manipulator given by the manipulator index. Note that if the manipulator is referenced, this method will have to unreference it and make a new copy of the manipulator.

See also
EcIndividualManipulator::replaceLinkShape
virtual EcBoolean EcManipulatorSystem::replaceLinkShape ( EcU32  manipIndex,
const EcU32  linkIndex,
const EcShape shape,
EcU32  bvhLevel,
EcBoolean  alwaysReplace = EcFalse 
)
virtual

replace the shape of the link identified by linkIndex in the manipulator given by the manipulator index. Note that if the manipulator is referenced, this method will have to unreference it and make a new copy of the manipulator.

See also
EcIndividualManipulator::replaceLinkShape
virtual void EcManipulatorSystem::rightSizeState ( EcManipulatorSystemState state) const
virtual

Extend the state with zeros or contract to a size that agrees with the system size.

virtual void EcManipulatorSystem::setFromIndividualManipulator ( const EcIndividualManipulator manipulator)
virtual

sets everything from a single manipulator. Y-up is assumed for the environment.

virtual EcBoolean EcManipulatorSystem::setJointLimit ( EcU32  manipulatorIndex,
const EcString linkLabel,
EcBoolean  isLowerLimit,
EcReal  value 
)
virtual

set the new value for a joint limit

Parameters
[in]manipulatorIndexThe index of the manipulator
[in]linkLabelThe identifying label of the link (joint)
[in]isLowerLimitTrue for a lower limit or false for upper limit
[in]valueThe new value for the joint limit
virtual void EcManipulatorSystem::setMaxOctreeHeight ( EcU32  treeHeight)
virtual

Sets the maximum height of the octree (if dynamic-static or octree broadphase processors are being used

virtual EcBoolean EcManipulatorSystem::setPrimaryFrame ( const EcU32  manipulatorIndex,
const EcString linkLabel,
const EcCoordinateSystemTransformation  primaryFrame,
EcBoolean  applyToReferencedManipulators 
)
virtual

set the new value for a link primary frame, while keeping all the link components in the same system location

Parameters
[in]manipulatorIndexThe index of the manipulator
[in]linkIndexThe identifying index of the link
[in]primaryFramethe primaryFrame transformation to be applied to the link
[in]applyToReferencedManipulatorsApply the change to all the referenced manipulators (true), or just this one
virtual const EcToken& EcManipulatorSystem::token ( ) const
virtual

gets the xml token used for writing out.

Implements EcXmlObject.

virtual EcBoolean EcManipulatorSystem::uncombineManipulator ( const EcString depManipLabel,
EcString baseManipLabel,
EcString baseLinkLabel,
EcCoordinateSystemTransformation offsets 
)
virtual

Uncombine manipulator.

Parameters
[in]depManipLabellabel of the dependent manipulator
[out]baseManipLabellabel of the base manipulator
[out]baseLinkLabellabel of the base link
[out]offsetoffset of the dependent manipulator
virtual void EcManipulatorSystem::unreferenceShapes ( )
virtual

copy the shapes for all the manipulators, i.e. not sharing the shapes with other systems

See also
EcManipulatorLink::unreferenceShapes

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