Choreonoid  1.8
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
cnoid::AISTSimulatorItem Class Reference

#include <AISTSimulatorItem.h>

Inheritance diagram for cnoid::AISTSimulatorItem:
cnoid::SimulatorItem cnoid::Item cnoid::Referenced

Public Types

typedef std::function< bool(Link *link1, Link *link2, const CollisionArray &collisions, ContactMaterial *contactMaterial)> CollisionHandler
- Public Types inherited from cnoid::SimulatorItem
enum  RecordingMode {
  FullRecording, TailRecording, NoRecording, NumRecordingModes,
  REC_FULL = FullRecording, REC_TAIL = TailRecording, REC_NONE = NoRecording, N_RECORDING_MODES = NumRecordingModes
enum  TimeRangeMode {
  UnlimitedTime, SpecifiedTime, TimeBarTime, NumTimeRangeModes,
  ActiveControlTime, TR_UNLIMITED = UnlimitedTime, TR_ACTIVE_CONTROL = ActiveControlTime, TR_SPECIFIED = SpecifiedTime,
  TR_TIMEBAR = TimeBarTime, N_TIME_RANGE_MODES = NumTimeRangeModes
- Public Types inherited from cnoid::Item
enum  Attribute {
  SubItem, Attached, Temporal, LoadOnly,
  NumAttributes, SUB_ITEM = SubItem, TEMPORAL = Temporal, LOAD_ONLY = LoadOnly
enum  CheckId { LogicalSumOfAllChecks = -1, PrimaryCheck = 0 }
typedef std::function< bool(Item *item)> ItemPredicate

Public Member Functions

 AISTSimulatorItem ()
 AISTSimulatorItem (const AISTSimulatorItem &org)
virtual ~AISTSimulatorItem ()
void setDynamicsMode (int mode)
void setIntegrationMode (int mode)
void setGravity (const Vector3 &gravity)
const Vector3gravity () const
void setFrictionCoefficientRange (double minFriction, double maxFriction)
double minFrictionCoefficient () const
double maxFrictionCoefficient () const
void setContactCullingDistance (double value)
void setContactCullingDepth (double value)
void setErrorCriterion (double value)
void setMaxNumIterations (int value)
void setContactCorrectionDepth (double value)
void setContactCorrectionVelocityRatio (double value)
void setEpsilon (double epsilon)
void set2Dmode (bool on)
void setKinematicWalkingEnabled (bool on)
void setConstraintForceOutputEnabled (bool on)
void addExtraJoint (ExtraJoint &extraJoint)
void clearExtraJoints ()
virtual Vector3 getGravity () const override
virtual void setForcedPosition (BodyItem *bodyItem, const Isometry3 &T) override
virtual bool isForcedPositionActiveFor (BodyItem *bodyItem) const override
virtual void clearForcedPositions () override
void registerCollisionHandler (const std::string &name, CollisionHandler handler)
bool unregisterCollisionHandler (const std::string &name)
void setFriction (Link *link1, Link *link2, double staticFriction, double dynamicFriction)
- Public Member Functions inherited from cnoid::SimulatorItem
virtual ~SimulatorItem ()
WorldItemworldItem ()
virtual double worldTimeStep ()
void setTimeStep (double step)
bool startSimulation (bool doReset=true)
void stopSimulation (bool isForced=false)
void pauseSimulation ()
void restartSimulation ()
bool isRunning () const
bool isPausing () const
bool isActive () const
 isRunning() && !isPausing() More...
int currentFrame () const
 This can only be called from the simulation thread. More...
double currentTime () const
 This can only be called from the simulation thread. More...
int simulationFrame () const
 This can be called from non simulation threads. More...
double simulationTime () const
 This can be called from non simulation threads. More...
SignalProxy< void()> sigSimulationStarted ()
SignalProxy< void()> sigSimulationPaused ()
SignalProxy< void()> sigSimulationResumed ()
SignalProxy< void(bool isForced)> sigSimulationFinished ()
void setRecordingMode (int selection)
int recordingMode () const
void setTimeRangeMode (int selection)
void setTimeLength (double length)
void setSpecifiedRecordingTimeLength (double length)
void setActiveControlTimeRangeMode (bool on)
bool isActiveControlTimeRangeMode () const
void setRealtimeSyncMode (bool on)
void setDeviceStateOutputEnabled (bool on)
bool isRecordingEnabled () const
bool isDeviceStateOutputEnabled () const
bool isAllLinkPositionOutputMode ()
virtual void setAllLinkPositionOutputMode (bool on)
const std::string & controllerOptionString () const
const std::vector< SimulationBody * > & simulationBodies ()
SimulationBodyfindSimulationBody (BodyItem *bodyItem)
SimulationBodyfindSimulationBody (const std::string &name)
int addPreDynamicsFunction (std::function< void()> func)
int addMidDynamicsFunction (std::function< void()> func)
int addPostDynamicsFunction (std::function< void()> func)
void removePreDynamicsFunction (int id)
void removeMidDynamicsFunction (int id)
void removePostDynamicsFunction (int id)
CloneMapcloneMap ()
SignalProxy< void(const std::vector< SimulationBodyPtr > &simulationBodies)> sigSimulationBodyListUpdated ()
virtual void setExternalForce (BodyItem *bodyItem, Link *link, const Vector3 &point, const Vector3 &f, double time=0.0)
virtual void clearExternalForces ()
virtual void setVirtualElasticString (BodyItem *bodyItem, Link *link, const Vector3 &attachmentPoint, const Vector3 &endPoint)
virtual void clearVirtualElasticStrings ()
- Public Member Functions inherited from cnoid::Item
virtual ~Item ()
Itemoperator= (const Item &rhs)=delete
int classId () const
ItemcreateNewInstance () const
void assign (Item *srcItem)
 Copy item properties as much as possible like the assignment operator. More...
Itemduplicate (Item *duplicatedParentItem=nullptr) const
ItemduplicateSubTree () const
 This function creates a copy of the item including its descendant items. More...
ItemduplicateAll () const
const std::string & name () const
virtual bool setName (const std::string &name)
virtual std::string displayName () const
void setDisplayNameModifier (std::function< std::string(const Item *item)> modifier)
SignalProxy< void(const std::string &oldName)> sigNameChanged ()
void notifyNameChange ()
 This function notifies the system of a displayName change. More...
void setAttribute (Attribute attribute)
void unsetAttribute (Attribute attribute)
bool hasAttribute (Attribute attribute) const
bool isSubItem () const
void setSubItemAttributes ()
bool isTemporal () const
void setTemporal (bool on=true)
bool isSelected () const
void setSelected (bool on, bool isCurrent=false)
void setSubTreeItemsSelected (bool on)
bool isChecked (int checkId=PrimaryCheck) const
void setChecked (bool on)
void setChecked (int checkId, bool on)
int numCheckStates () const
int numChildren () const
int countDescendantItems () const
ItemchildItem () const
ItemprevItem () const
ItemnextItem () const
ItemlastChildItem () const
ItemparentItem () const
ItemheadItem () const
RootItemfindRootItem () const
bool isConnectedToRoot () const
ItemlocalRootItem () const
bool addChildItem (Item *item, bool isManualOperation=false)
bool insertChildItem (Item *item, Item *nextItem, bool isManualOperation=false)
bool insertChild (Item *position, Item *item, bool isManualOperation=false)
bool addSubItem (Item *item)
bool insertSubItem (Item *item, Item *nextItem)
void removeFromParentItem ()
void detachFromParentItem ()
void clearChildren ()
template<class ItemType >
ItemType * find (const std::string &path="")
ItemfindItem (const std::string &path) const
template<class ItemType >
ItemType * findItem (const std::string &path) const
template<class ItemType >
ItemType * findItem (std::function< bool(ItemType *item)> pred=nullptr) const
ItemfindChildItem (const std::string &path, std::function< bool(Item *item)> pred=nullptr) const
template<class ItemType >
ItemType * findChildItem (const std::string &path, std::function< bool(ItemType *item)> pred=nullptr) const
template<class ItemType >
ItemType * findChildItem (std::function< bool(ItemType *item)> pred=nullptr) const
ItemfindSubItem (const std::string &path) const
template<class ItemType >
ItemType * findSubItem (const std::string &path="") const
template<class ItemType >
ItemType * findOwnerItem (bool includeSelf=false) const
bool isOwnedBy (Item *item) const
ItemList childItems (std::function< bool(Item *item)> pred=nullptr) const
template<class ItemType >
ItemList< ItemType > childItems (std::function< bool(ItemType *item)> pred=nullptr) const
ItemList descendantItems (std::function< bool(Item *item)> pred=nullptr) const
template<class ItemType >
ItemList< ItemType > descendantItems (std::function< bool(ItemType *item)> pred=nullptr) const
ItemList selectedDescendantItems (std::function< bool(Item *item)> pred=nullptr) const
template<class ItemType >
ItemList< ItemType > selectedDescendantItems (std::function< bool(Item *item)> pred=nullptr) const
bool traverse (std::function< bool(Item *)> pred)
template<class ItemType >
bool traverse (std::function< bool(ItemType *item)> pred=nullptr)
SignalProxy< void()> sigTreePathChanged ()
SignalProxy< void()> sigTreePositionChanged ()
SignalProxy< void(Item *topItem, Item *prevTopParentItem)> sigTreePositionChanged2 ()
SignalProxy< void()> sigPositionChanged ()
SignalProxy< void()> sigSubTreeChanged ()
SignalProxy< void()> sigDisconnectedFromRoot ()
SignalProxy< void()> sigDetachedFromRoot ()
SignalProxy< void(bool on)> sigSelectionChanged ()
SignalProxy< void(int checkId, bool on)> sigAnyCheckToggled ()
SignalProxy< void(bool on)> sigCheckToggled (int checkId=PrimaryCheck)
virtual void notifyUpdate ()
SignalProxy< void()> sigUpdated ()
bool setAddon (ItemAddon *addon)
void removeAddon (ItemAddon *addon)
template<class AddonType >
AddonType * findAddon ()
template<class AddonType >
AddonType * getAddon ()
std::vector< ItemAddon * > addons ()
bool load (const std::string &filename, const std::string &format=std::string(), const Mapping *options=nullptr)
bool load (const std::string &filename, Item *parent, const std::string &format=std::string(), const Mapping *options=nullptr)
bool save (const std::string &filename, const std::string &format=std::string(), const Mapping *options=nullptr)
bool overwrite (bool forceOverwrite=false, const std::string &format=std::string())
const std::string & filePath () const
 Full path file name. More...
std::string fileName () const
 File name without the directory. More...
const std::string & fileFormat () const
const MappingfileOptions () const
std::time_t fileModificationTime () const
bool isConsistentWithFile () const
void updateFileInformation (const std::string &filename, const std::string &format, Mapping *options=nullptr)
void setConsistentWithFile (bool isConsistent)
void suggestFileUpdate ()
void clearFileInformation ()
 Use this function to disable the implicit overwrite next time. More...
bool reload ()
bool replace (Item *originalItem)
ItemfindOriginalItem () const
ItemfindReplacementItem () const
void putProperties (PutPropertyFunction &putProperty)
- Public Member Functions inherited from cnoid::Referenced
virtual ~Referenced ()

Static Public Member Functions

static void initializeClass (ExtensionManager *ext)
- Static Public Member Functions inherited from cnoid::SimulatorItem
static void initializeClass (ExtensionManager *ext)
static SimulatorItemfindActiveSimulatorItemFor (Item *item)
- Static Public Member Functions inherited from cnoid::Item
template<class ItemType >
static ItemPredicate getItemPredicate ()
template<class ItemType >
static ItemPredicate getItemPredicate (std::function< bool(ItemType *item)> pred)
static Itemfind (const std::string &path)

Protected Member Functions

virtual SimulationBodycreateSimulationBody (Body *orgBody, CloneMap &cloneMap) override
virtual bool initializeSimulation (const std::vector< SimulationBody * > &simBodies) override
virtual bool completeInitializationOfSimulation () override
virtual bool stepSimulation (const std::vector< SimulationBody * > &activeSimBodies) override
virtual void finalizeSimulation () override
virtual std::shared_ptr< CollisionLinkPairListgetCollisions () override
virtual ItemdoDuplicate () const override
 Override this function to allow duplication of an instance. More...
virtual void doPutProperties (PutPropertyFunction &putProperty) override
virtual bool store (Archive &archive) override
virtual bool restore (const Archive &archive) override
- Protected Member Functions inherited from cnoid::SimulatorItem
 SimulatorItem ()
 SimulatorItem (const std::string &name)
 SimulatorItem (const SimulatorItem &org)
virtual void onTreePathChanged () override
virtual void onDisconnectedFromRoot () override
virtual void clearSimulation ()
virtual SimulationBodycreateSimulationBody (Body *orgBody)
CollisionDetectorgetOrCreateCollisionDetector ()
CollisionDetectorcollisionDetector ()
virtual void initializeSimulationThread ()
virtual void finalizeSimulationThread ()
- Protected Member Functions inherited from cnoid::Item
 Item ()
 Item (const std::string &name)
 Item (const Item &item)
virtual void doAssign (Item *srcItem)
 Implement the code to copy properties like the assingment operator. More...
virtual ItemdoDuplicate (Item *duplicatedParentItem) const
virtual bool onNewTreePositionCheck (bool isManualOperation, std::function< void()> &out_callbackWhenAdded)
virtual void onAddedToParent ()
virtual void onTreePositionChanged ()
virtual void onPositionChanged ()
virtual void onConnectedToRoot ()
virtual void onRemovedFromParent (Item *parentItem, bool isParentBeingDeleted)
virtual bool onChildItemAboutToBeAdded (Item *childItem, bool isManualOperation)
- Protected Member Functions inherited from cnoid::Referenced
 Referenced ()
 Referenced (const Referenced &)
int refCount () const

Member Typedef Documentation

◆ CollisionHandler

typedef std::function<bool(Link* link1, Link* link2, const CollisionArray& collisions, ContactMaterial* contactMaterial)> cnoid::AISTSimulatorItem::CollisionHandler

Member Enumeration Documentation

◆ DynamicsMode


◆ IntegrationMode


Constructor & Destructor Documentation

◆ AISTSimulatorItem() [1/2]

AISTSimulatorItem::AISTSimulatorItem ( )

◆ AISTSimulatorItem() [2/2]

AISTSimulatorItem::AISTSimulatorItem ( const AISTSimulatorItem org)

◆ ~AISTSimulatorItem()

AISTSimulatorItem::~AISTSimulatorItem ( )

Member Function Documentation

◆ addExtraJoint()

void AISTSimulatorItem::addExtraJoint ( ExtraJoint extraJoint)

◆ clearExtraJoints()

void AISTSimulatorItem::clearExtraJoints ( )

◆ clearForcedPositions()

void AISTSimulatorItem::clearForcedPositions ( )

Reimplemented from cnoid::SimulatorItem.

◆ completeInitializationOfSimulation()

bool AISTSimulatorItem::completeInitializationOfSimulation ( )

This function is called after all the initializetion processes including those of controllers and sub simulators to complete the initialization of simulation.

This function is called from the main thread.

Reimplemented from cnoid::SimulatorItem.

◆ createSimulationBody()

SimulationBody * AISTSimulatorItem::createSimulationBody ( Body orgBody,
CloneMap cloneMap 
orgBody should not owned by the SimulationBody instance. Instead it must clone a body instance using cloneMap and use it for the simulation.
This function should be a pure virtual function when the old function is removed.

Reimplemented from cnoid::SimulatorItem.

◆ doDuplicate()

Item * AISTSimulatorItem::doDuplicate ( ) const

Override this function to allow duplication of an instance.

Reimplemented from cnoid::Item.

◆ doPutProperties()

void AISTSimulatorItem::doPutProperties ( PutPropertyFunction putProperty)

This function is used to put a standard properties of the item. You can implement the standard properties by overriding this function.

The overridden function should call the same function of the parent class.

Reimplemented from cnoid::SimulatorItem.

◆ finalizeSimulation()

void AISTSimulatorItem::finalizeSimulation ( )
This function is called from the main thread.

Reimplemented from cnoid::SimulatorItem.

◆ getCollisions()

std::shared_ptr< CollisionLinkPairList > AISTSimulatorItem::getCollisions ( )

Reimplemented from cnoid::SimulatorItem.

◆ getGravity()

Vector3 AISTSimulatorItem::getGravity ( ) const
This function should be a pure virtual function

Reimplemented from cnoid::SimulatorItem.

◆ gravity()

const Vector3 & AISTSimulatorItem::gravity ( ) const

◆ initializeClass()

void AISTSimulatorItem::initializeClass ( ExtensionManager ext)

◆ initializeSimulation()

bool AISTSimulatorItem::initializeSimulation ( const std::vector< SimulationBody * > &  simBodies)
simBodiesSimulatorBody objects which have a valid body
This function is called from the main thread.

Implements cnoid::SimulatorItem.

◆ isForcedPositionActiveFor()

bool AISTSimulatorItem::isForcedPositionActiveFor ( BodyItem bodyItem) const

Reimplemented from cnoid::SimulatorItem.

◆ maxFrictionCoefficient()

double AISTSimulatorItem::maxFrictionCoefficient ( ) const

◆ minFrictionCoefficient()

double AISTSimulatorItem::minFrictionCoefficient ( ) const

◆ registerCollisionHandler()

void AISTSimulatorItem::registerCollisionHandler ( const std::string &  name,
CollisionHandler  handler 

◆ restore()

bool AISTSimulatorItem::restore ( const Archive archive)

Reimplemented from cnoid::SimulatorItem.

◆ set2Dmode()

void AISTSimulatorItem::set2Dmode ( bool  on)

◆ setConstraintForceOutputEnabled()

void AISTSimulatorItem::setConstraintForceOutputEnabled ( bool  on)

◆ setContactCorrectionDepth()

void AISTSimulatorItem::setContactCorrectionDepth ( double  value)

◆ setContactCorrectionVelocityRatio()

void AISTSimulatorItem::setContactCorrectionVelocityRatio ( double  value)

◆ setContactCullingDepth()

void AISTSimulatorItem::setContactCullingDepth ( double  value)

◆ setContactCullingDistance()

void AISTSimulatorItem::setContactCullingDistance ( double  value)

◆ setDynamicsMode()

void AISTSimulatorItem::setDynamicsMode ( int  mode)

◆ setEpsilon()

void AISTSimulatorItem::setEpsilon ( double  epsilon)

◆ setErrorCriterion()

void AISTSimulatorItem::setErrorCriterion ( double  value)

◆ setForcedPosition()

void AISTSimulatorItem::setForcedPosition ( BodyItem bodyItem,
const Isometry3 T 

Reimplemented from cnoid::SimulatorItem.

◆ setFriction()

void AISTSimulatorItem::setFriction ( Link link1,
Link link2,
double  staticFriction,
double  dynamicFriction 

◆ setFrictionCoefficientRange()

void AISTSimulatorItem::setFrictionCoefficientRange ( double  minFriction,
double  maxFriction 

◆ setGravity()

void AISTSimulatorItem::setGravity ( const Vector3 gravity)

◆ setIntegrationMode()

void AISTSimulatorItem::setIntegrationMode ( int  mode)

◆ setKinematicWalkingEnabled()

void AISTSimulatorItem::setKinematicWalkingEnabled ( bool  on)

◆ setMaxNumIterations()

void AISTSimulatorItem::setMaxNumIterations ( int  value)

◆ stepSimulation()

bool AISTSimulatorItem::stepSimulation ( const std::vector< SimulationBody * > &  activeSimBodies)

This function is called from the simulation loop thread.

activeSimBodiesSimulatorBody objects which are non-static ones.

Implements cnoid::SimulatorItem.

◆ store()

bool AISTSimulatorItem::store ( Archive archive)

Reimplemented from cnoid::SimulatorItem.

◆ unregisterCollisionHandler()

bool AISTSimulatorItem::unregisterCollisionHandler ( const std::string &  name)

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