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

#include <AISTSimulatorItem.h>

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

Public Types

enum  DynamicsMode { FORWARD_DYNAMICS = 0, HG_DYNAMICS, KINEMATICS, N_DYNAMICS_MODES }
 
enum  IntegrationMode { EULER_INTEGRATION = 0, RUNGE_KUTTA_INTEGRATION, N_INTEGRATION_MODES }
 
typedef boost::function< bool(Link *link1, Link *link2, const CollisionArray &collisions, const ContactAttribute &attribute)> CollisionHandler
 
- Public Types inherited from cnoid::SimulatorItem
enum  RecordingMode { REC_FULL, REC_TAIL, REC_NONE, N_RECORDING_MODES }
 
enum  TimeRangeMode {
  TR_UNLIMITED, TR_ACTIVE_CONTROL, TR_SPECIFIED, TR_TIMEBAR,
  N_TIME_RANGE_MODES
}
 
- Public Types inherited from cnoid::Item
enum  Attribute { SUB_ITEM, TEMPORAL, LOAD_ONLY, NUM_ATTRIBUTES }
 

Public Member Functions

 AISTSimulatorItem ()
 
 AISTSimulatorItem (const AISTSimulatorItem &org)
 
virtual ~AISTSimulatorItem ()
 
virtual bool startSimulation (bool doReset=true)
 
void setDynamicsMode (int mode)
 
void setIntegrationMode (int mode)
 
void setGravity (const Vector3 &gravity)
 
const Vector3gravity () const
 
void setFriction (double staticFriction, double slipFriction)
 
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)
 
virtual void setForcedPosition (BodyItem *bodyItem, const Position &T)
 
virtual bool isForcedPositionActiveFor (BodyItem *bodyItem) const
 
virtual void clearForcedPositions ()
 
void setFriction (Link *link1, Link *link2, double staticFriction, double slipFriction)
 
int registerCollisionHandler (const std::string &name, CollisionHandler handler)
 
void unregisterCollisionHandler (int handlerId)
 
int collisionHandlerId (const std::string &name) const
 
void setCollisionHandler (Link *link1, Link *link2, int handlerId)
 
- Public Member Functions inherited from cnoid::SimulatorItem
 SimulatorItem ()
 
virtual ~SimulatorItem ()
 
virtual double worldTimeStep ()
 
virtual void stopSimulation ()
 
virtual void pauseSimulation ()
 
virtual 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()> sigSimulationFinished ()
 
void setRecordingMode (int selection)
 
Selection recordingMode () const
 
void setTimeRangeMode (int selection)
 
void setRealtimeSyncMode (bool on)
 
void setDeviceStateOutputEnabled (bool on)
 
bool isRecordingEnabled () const
 
bool isDeviceStateOutputEnabled () const
 
bool isAllLinkPositionOutputMode ()
 
virtual void setAllLinkPositionOutputMode (bool on)
 
const std::vector< SimulationBody * > & simulationBodies ()
 
SimulationBodyfindSimulationBody (BodyItem *bodyItem)
 
SimulationBodyfindSimulationBody (const std::string &name)
 
int addPreDynamicsFunction (boost::function< void()> func)
 
int addMidDynamicsFunction (boost::function< void()> func)
 
int addPostDynamicsFunction (boost::function< void()> func)
 
void removePreDynamicsFunction (int id)
 
void removeMidDynamicsFunction (int id)
 
void removePostDynamicsFunction (int id)
 
SgCloneMapsgCloneMap ()
 
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 ()
 
const std::string & name () const
 
virtual void setName (const std::string &name)
 
bool hasAttribute (Attribute attribute) const
 
ItemchildItem () const
 
ItemprevItem () const
 
ItemnextItem () const
 
ItemparentItem () const
 
bool addChildItem (Item *item, bool isManualOperation=false)
 
bool addSubItem (Item *item)
 
bool isSubItem () const
 
void detachFromParentItem ()
 
void emitSigDetachedFromRootForSubTree ()
 
bool insertChildItem (Item *item, Item *nextItem, bool isManualOperation=false)
 
bool insertSubItem (Item *item, Item *nextItem)
 
bool isTemporal () const
 
void setTemporal (bool on=true)
 
RootItemfindRootItem () const
 
ItemfindItem (const std::string &path) const
 
template<class ItemType >
ItemType * findItem (const std::string &path) const
 
template<class ItemType >
ItemType * find (const std::string &path)
 
ItemfindChildItem (const std::string &path) const
 
template<class ItemType >
ItemType * findChildItem (const std::string &path) const
 
ItemfindSubItem (const std::string &path) const
 
template<class ItemType >
ItemType * findSubItem (const std::string &path) const
 
ItemheadItem () const
 
template<class ItemType >
ItemType * findOwnerItem (bool includeSelf=false)
 
bool isOwnedBy (Item *item) const
 
bool traverse (boost::function< bool(Item *)> function)
 
template<class ItemType >
bool traverse (boost::function< bool(ItemType *item)> function)
 
Itemduplicate () const
 
ItemduplicateAll () const
 
void assign (Item *srcItem)
 
bool load (const std::string &filename, const std::string &format=std::string())
 
bool load (const std::string &filename, Item *parent, const std::string &format=std::string())
 
bool save (const std::string &filename, const std::string &format=std::string())
 
bool overwrite (bool forceOverwrite=false, const std::string &format=std::string())
 
const std::string & filePath () const
 
const std::string & fileFormat () const
 
std::time_t fileModificationTime () const
 
bool isConsistentWithFile () const
 
void clearFileInformation ()
 
void suggestFileUpdate ()
 
void putProperties (PutPropertyFunction &putProperty)
 
virtual void notifyUpdate ()
 
SignalProxy< void(const std::string &oldName)> sigNameChanged ()
 
SignalProxy< void()> sigUpdated ()
 
SignalProxy< void()> sigPositionChanged ()
 
SignalProxy< void()> sigDetachedFromRoot ()
 
SignalProxy< void()> sigDisconnectedFromRoot ()
 
SignalProxy< void()> sigSubTreeChanged ()
 
ReferencedcustomData (int id)
 
const ReferencedcustomData (int id) const
 
void setCustomData (int id, ReferencedPtr data)
 
void clearCustomData (int id)
 
- Public Member Functions inherited from cnoid::Referenced
virtual ~Referenced ()
 
void addRef ()
 
void releaseRef ()
 

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
static Itemfind (const std::string &path)
 
static SignalProxy< void(const char *type_info_name)> sigClassUnregistered ()
 

Protected Member Functions

virtual SimulationBodycreateSimulationBody (Body *orgBody)
 
virtual bool initializeSimulation (const std::vector< SimulationBody * > &simBodies)
 
virtual bool stepSimulation (const std::vector< SimulationBody * > &activeSimBodies)
 
virtual void finalizeSimulation ()
 
virtual CollisionLinkPairListPtr getCollisions ()
 
virtual ItemdoDuplicate () const
 
virtual void doPutProperties (PutPropertyFunction &putProperty)
 
virtual bool store (Archive &archive)
 
virtual bool restore (const Archive &archive)
 
- Protected Member Functions inherited from cnoid::SimulatorItem
 SimulatorItem (const SimulatorItem &org)
 
virtual void onDisconnectedFromRoot ()
 
CollisionDetectorPtr collisionDetector ()
 
virtual void initializeSimulationThread ()
 
virtual void finalizeSimulationThread ()
 
void doPutProperties (PutPropertyFunction &putProperty)
 
bool store (Archive &archive)
 
bool restore (const Archive &archive)
 
- Protected Member Functions inherited from cnoid::Item
 Item ()
 
 Item (const Item &item)
 
virtual void onConnectedToRoot ()
 
virtual void onPositionChanged ()
 
virtual bool onChildItemAboutToBeAdded (Item *childItem, bool isManualOperation)
 
virtual void doAssign (Item *srcItem)
 
void setAttribute (Attribute attribute)
 
void unsetAttribute (Attribute attribute)
 
- Protected Member Functions inherited from cnoid::Referenced
 Referenced ()
 
 Referenced (const Referenced &org)
 
int refCount () const
 

Friends

class AISTSimulatorItemImpl
 

Member Typedef Documentation

typedef boost::function<bool(Link* link1, Link* link2, const CollisionArray& collisions, const ContactAttribute& attribute)> cnoid::AISTSimulatorItem::CollisionHandler

Member Enumeration Documentation

Enumerator
FORWARD_DYNAMICS 
HG_DYNAMICS 
KINEMATICS 
N_DYNAMICS_MODES 
Enumerator
EULER_INTEGRATION 
RUNGE_KUTTA_INTEGRATION 
N_INTEGRATION_MODES 

Constructor & Destructor Documentation

AISTSimulatorItem::AISTSimulatorItem ( )
AISTSimulatorItem::AISTSimulatorItem ( const AISTSimulatorItem org)
AISTSimulatorItem::~AISTSimulatorItem ( )
virtual

Member Function Documentation

void AISTSimulatorItem::clearForcedPositions ( )
virtual

Reimplemented from cnoid::SimulatorItem.

int AISTSimulatorItem::collisionHandlerId ( const std::string &  name) const
SimulationBody * AISTSimulatorItem::createSimulationBody ( Body orgBody)
protectedvirtual
Note
orgBody should not owned by the SimulationBody instance. Instead of it, a clone instance which may be a sub Body class should be created and owned.

Implements cnoid::SimulatorItem.

Item * AISTSimulatorItem::doDuplicate ( ) const
protectedvirtual

Override this function to allow duplication of an instance.

Reimplemented from cnoid::Item.

void AISTSimulatorItem::doPutProperties ( PutPropertyFunction putProperty)
protectedvirtual

Override this function to put properties of the item.

Note
Please call doPutProperties() of the parent class in this function. For example, when your class directly inherits the Item class, call Item::doPutProperties(putProperty).

Reimplemented from cnoid::Item.

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

Reimplemented from cnoid::SimulatorItem.

CollisionLinkPairListPtr AISTSimulatorItem::getCollisions ( )
protectedvirtual

Reimplemented from cnoid::SimulatorItem.

const Vector3 & AISTSimulatorItem::gravity ( ) const
void AISTSimulatorItem::initializeClass ( ExtensionManager ext)
static
bool AISTSimulatorItem::initializeSimulation ( const std::vector< SimulationBody * > &  simBodies)
protectedvirtual
Parameters
simBodiesSimulatorBody objects which have a valid body
Note
This function is called from the main thread.

Implements cnoid::SimulatorItem.

bool AISTSimulatorItem::isForcedPositionActiveFor ( BodyItem bodyItem) const
virtual

Reimplemented from cnoid::SimulatorItem.

int AISTSimulatorItem::registerCollisionHandler ( const std::string &  name,
CollisionHandler  handler 
)
bool AISTSimulatorItem::restore ( const Archive archive)
protectedvirtual

Reimplemented from cnoid::Item.

void AISTSimulatorItem::set2Dmode ( bool  on)
void AISTSimulatorItem::setCollisionHandler ( Link link1,
Link link2,
int  handlerId 
)
void AISTSimulatorItem::setConstraintForceOutputEnabled ( bool  on)
void AISTSimulatorItem::setContactCorrectionDepth ( double  value)
void AISTSimulatorItem::setContactCorrectionVelocityRatio ( double  value)
void AISTSimulatorItem::setContactCullingDepth ( double  value)
void AISTSimulatorItem::setContactCullingDistance ( double  value)
void AISTSimulatorItem::setDynamicsMode ( int  mode)
void AISTSimulatorItem::setEpsilon ( double  epsilon)
void AISTSimulatorItem::setErrorCriterion ( double  value)
void AISTSimulatorItem::setForcedPosition ( BodyItem bodyItem,
const Position T 
)
virtual

Reimplemented from cnoid::SimulatorItem.

void AISTSimulatorItem::setFriction ( double  staticFriction,
double  slipFriction 
)
void AISTSimulatorItem::setFriction ( Link link1,
Link link2,
double  staticFriction,
double  slipFriction 
)
void AISTSimulatorItem::setGravity ( const Vector3 gravity)
void AISTSimulatorItem::setIntegrationMode ( int  mode)
void AISTSimulatorItem::setKinematicWalkingEnabled ( bool  on)
void AISTSimulatorItem::setMaxNumIterations ( int  value)
bool AISTSimulatorItem::startSimulation ( bool  doReset = true)
virtual

Reimplemented from cnoid::SimulatorItem.

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

This function is called from the simulation loop thread.

Parameters
activeSimBodiesSimulatorBody objects which are non-static ones.

Implements cnoid::SimulatorItem.

bool AISTSimulatorItem::store ( Archive archive)
protectedvirtual

Reimplemented from cnoid::Item.

void AISTSimulatorItem::unregisterCollisionHandler ( int  handlerId)

Friends And Related Function Documentation

friend class AISTSimulatorItemImpl
friend

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