|
Choreonoid
1.8
|
#include <SimulatorItem.h>
Public Types | |
| 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 | |
| virtual | ~SimulatorItem () |
| WorldItem * | worldItem () |
| 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 () |
| SimulationBody * | findSimulationBody (BodyItem *bodyItem) |
| SimulationBody * | findSimulationBody (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) |
| CloneMap & | cloneMap () |
| SignalProxy< void(const std::vector< SimulationBodyPtr > &simulationBodies)> | sigSimulationBodyListUpdated () |
| virtual Vector3 | getGravity () const |
| 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 () |
| virtual void | setForcedPosition (BodyItem *bodyItem, const Isometry3 &T) |
| virtual bool | isForcedPositionActiveFor (BodyItem *bodyItem) const |
| virtual void | clearForcedPositions () |
Public Member Functions inherited from cnoid::Item | |
| virtual | ~Item () |
| Item & | operator= (const Item &rhs)=delete |
| int | classId () const |
| Item * | createNewInstance () const |
| void | assign (Item *srcItem) |
| Copy item properties as much as possible like the assignment operator. More... | |
| Item * | duplicate (Item *duplicatedParentItem=nullptr) const |
| Item * | duplicateSubTree () const |
| This function creates a copy of the item including its descendant items. More... | |
| Item * | duplicateAll () 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 |
| Item * | childItem () const |
| Item * | prevItem () const |
| Item * | nextItem () const |
| Item * | lastChildItem () const |
| Item * | parentItem () const |
| Item * | headItem () const |
| RootItem * | findRootItem () const |
| bool | isConnectedToRoot () const |
| Item * | localRootItem () 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="") |
| Item * | findItem (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 |
| Item * | findChildItem (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 |
| Item * | findSubItem (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 Mapping * | fileOptions () 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) |
| Item * | findOriginalItem () const |
| Item * | findReplacementItem () const |
| void | putProperties (PutPropertyFunction &putProperty) |
Public Member Functions inherited from cnoid::Referenced | |
| virtual | ~Referenced () |
Static Public Member Functions | |
| static void | initializeClass (ExtensionManager *ext) |
| static SimulatorItem * | findActiveSimulatorItemFor (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 Item * | find (const std::string &path) |
Protected Member Functions | |
| SimulatorItem () | |
| SimulatorItem (const std::string &name) | |
| SimulatorItem (const SimulatorItem &org) | |
| virtual void | onTreePathChanged () override |
| virtual void | onDisconnectedFromRoot () override |
| virtual void | clearSimulation () |
| virtual SimulationBody * | createSimulationBody (Body *orgBody, CloneMap &cloneMap) |
| virtual SimulationBody * | createSimulationBody (Body *orgBody) |
| CollisionDetector * | getOrCreateCollisionDetector () |
| CollisionDetector * | collisionDetector () |
| virtual bool | initializeSimulation (const std::vector< SimulationBody * > &simBodies)=0 |
| virtual bool | completeInitializationOfSimulation () |
| virtual void | initializeSimulationThread () |
| virtual void | finalizeSimulationThread () |
| virtual bool | stepSimulation (const std::vector< SimulationBody * > &activeSimBodies)=0 |
| virtual void | finalizeSimulation () |
| virtual std::shared_ptr< CollisionLinkPairList > | getCollisions () |
| 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::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 Item * | doDuplicate () const |
| Override this function to allow duplication of an instance. More... | |
| virtual Item * | doDuplicate (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 |
Friends | |
| class | SimulationBody |
| class | SimulatedMotionEngineManager |
|
virtual |
|
protected |
|
protected |
|
protected |
| int SimulatorItem::addMidDynamicsFunction | ( | std::function< void()> | func | ) |
| int SimulatorItem::addPostDynamicsFunction | ( | std::function< void()> | func | ) |
| int SimulatorItem::addPreDynamicsFunction | ( | std::function< void()> | func | ) |
|
virtual |
|
virtual |
Reimplemented in cnoid::AISTSimulatorItem.
|
protectedvirtual |
Reimplemented in cnoid::KinematicSimulatorItem.
|
virtual |
| CloneMap & SimulatorItem::cloneMap | ( | ) |
|
protected |
|
protectedvirtual |
This function is called after all the initializetion processes including those of controllers and sub simulators to complete the initialization of simulation.
Reimplemented in cnoid::AISTSimulatorItem.
| const std::string & SimulatorItem::controllerOptionString | ( | ) | const |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
| int SimulatorItem::currentFrame | ( | ) | const |
This can only be called from the simulation thread.
| double SimulatorItem::currentTime | ( | ) | const |
This can only be called from the simulation thread.
|
overrideprotectedvirtual |
This function is used to put a standard properties of the item. You can implement the standard properties by overriding this function.
Reimplemented from cnoid::Item.
Reimplemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
|
protectedvirtual |
Reimplemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
|
protectedvirtual |
|
static |
| SimulationBody * SimulatorItem::findSimulationBody | ( | BodyItem * | bodyItem | ) |
| SimulationBody * SimulatorItem::findSimulationBody | ( | const std::string & | name | ) |
|
protectedvirtual |
Reimplemented in cnoid::AISTSimulatorItem.
|
virtual |
Reimplemented in cnoid::AISTSimulatorItem.
|
protected |
|
static |
|
protectedpure virtual |
| simBodies | SimulatorBody objects which have a valid body |
Implemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
|
protectedvirtual |
| bool SimulatorItem::isActive | ( | ) | const |
isRunning() && !isPausing()
| bool SimulatorItem::isActiveControlTimeRangeMode | ( | ) | const |
| bool SimulatorItem::isAllLinkPositionOutputMode | ( | ) |
| bool SimulatorItem::isDeviceStateOutputEnabled | ( | ) | const |
|
virtual |
Reimplemented in cnoid::AISTSimulatorItem.
| bool SimulatorItem::isPausing | ( | ) | const |
| bool SimulatorItem::isRecordingEnabled | ( | ) | const |
| bool SimulatorItem::isRunning | ( | ) | const |
|
overrideprotectedvirtual |
Reimplemented from cnoid::Item.
|
overrideprotectedvirtual |
This function is called at the same time as sigTreePathChanged. The order in which it is called precedes the signal. By overriding this function in a derived item class, you can implement the necessary processing when the path in the item tree is changed.
Reimplemented from cnoid::Item.
| void SimulatorItem::pauseSimulation | ( | ) |
| int SimulatorItem::recordingMode | ( | ) | const |
| void SimulatorItem::removeMidDynamicsFunction | ( | int | id | ) |
| void SimulatorItem::removePostDynamicsFunction | ( | int | id | ) |
| void SimulatorItem::removePreDynamicsFunction | ( | int | id | ) |
| void SimulatorItem::restartSimulation | ( | ) |
|
overrideprotectedvirtual |
Reimplemented from cnoid::Item.
Reimplemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
| void SimulatorItem::setActiveControlTimeRangeMode | ( | bool | on | ) |
|
virtual |
| void SimulatorItem::setDeviceStateOutputEnabled | ( | bool | on | ) |
|
virtual |
| point | link local position to apply the force |
| f | linear force to apply in global coordinate |
Reimplemented in cnoid::AISTSimulatorItem.
| void SimulatorItem::setRealtimeSyncMode | ( | bool | on | ) |
| void SimulatorItem::setRecordingMode | ( | int | selection | ) |
|
inline |
| void SimulatorItem::setTimeLength | ( | double | length | ) |
| void SimulatorItem::setTimeRangeMode | ( | int | selection | ) |
| void SimulatorItem::setTimeStep | ( | double | step | ) |
|
virtual |
| attachmentPoint | link local position |
| SignalProxy<void(const std::vector<SimulationBodyPtr>& simulationBodies)> cnoid::SimulatorItem::sigSimulationBodyListUpdated | ( | ) |
| SignalProxy< void(bool isForced)> SimulatorItem::sigSimulationFinished | ( | ) |
| SignalProxy< void()> SimulatorItem::sigSimulationPaused | ( | ) |
| SignalProxy< void()> SimulatorItem::sigSimulationResumed | ( | ) |
| SignalProxy< void()> SimulatorItem::sigSimulationStarted | ( | ) |
| const std::vector< SimulationBody * > & SimulatorItem::simulationBodies | ( | ) |
For sub simulators
| int SimulatorItem::simulationFrame | ( | ) | const |
This can be called from non simulation threads.
| double SimulatorItem::simulationTime | ( | ) | const |
This can be called from non simulation threads.
| bool SimulatorItem::startSimulation | ( | bool | doReset = true | ) |
|
protectedpure virtual |
This function is called from the simulation loop thread.
| activeSimBodies | SimulatorBody objects which are non-static ones. |
Implemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
| void SimulatorItem::stopSimulation | ( | bool | isForced = false | ) |
|
overrideprotectedvirtual |
Reimplemented from cnoid::Item.
Reimplemented in cnoid::AISTSimulatorItem, and cnoid::KinematicSimulatorItem.
| WorldItem * SimulatorItem::worldItem | ( | ) |
|
virtual |
|
friend |
|
friend |
1.8.17