Choreonoid  1.5
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cnoid::PoseSeqViewBase Class Referenceabstract

#include <PoseSeqViewBase.h>

Inherited by cnoid::PoseRollViewImpl, and cnoid::PoseSeqViewImpl.

Classes

struct  ChildrenState
 
struct  PoseIterTimeComp
 

Public Types

typedef std::multiset< PoseSeq::iterator, PoseIterTimeCompPoseIterSet
 

Public Member Functions

 PoseSeqViewBase (View *view)
 
 ~PoseSeqViewBase ()
 
PoseSeq::iterator insertPose ()
 
PoseSeq::iterator insertPronunSymbol ()
 
PoseSeq::iterator insertPoseUnit (PoseUnitPtr poseUnit)
 
PoseIterSet::iterator findPoseIterInSelected (PoseSeq::iterator poseIter)
 
bool toggleSelection (PoseSeq::iterator poseIter, bool adding, bool changeTime)
 
void selectAllPoses ()
 
void selectAllPosesAfterCurrentPosition ()
 
void selectAllPosesBeforeCurrentPosition ()
 
void selectPosesHavingSelectedLinks ()
 
void selectPosesJustHavingSelectedLinks ()
 
void removeSelectedPartsFromKeyPoses ()
 
void doAutomaticInterpolationUpdate ()
 
void updateLinkTreeModel ()
 
bool deleteSelectedPoses ()
 
bool cutSelectedPoses ()
 
bool copySelectedPoses ()
 
bool pasteCopiedPoses (double timeToPaste)
 
bool moveSelectedPoses (double time0)
 
bool modifyTransitionTimeOfSelectedPoses (double ttime)
 
void popupContextMenu (QMouseEvent *event)
 
void onSelectSpecifiedKeyPosesActivated ()
 
void onPoseSelectionDialogAccepted ()
 
void onAdjustStepPositionsActivated ()
 
void onRotateYawOrientationsActivated ()
 
void onYawOrientationRotationDialogAccepted ()
 
void onAdjustWaistPositionActivated ()
 
void onLinkPositionAdjustmentDialogAccepted ()
 
void onUpdateKeyposesWithBalancedTrajectoriesActivated ()
 
void onFlipPosesActivated ()
 
void countSelectedKeyPoses ()
 
double quantizedTime (double time)
 
virtual void onLinkTreeUpdateRequest (bool isInitialCreation)
 
virtual void setCurrentPoseSeqItem (PoseSeqItemPtr poseSeqItem)
 
virtual void onTimeScaleChanged ()
 
virtual void onSelectedPosesModified ()
 
virtual void onDeleteButtonClicked ()
 
virtual void onPoseInserted (PoseSeq::iterator it, bool isMoving)
 
virtual void onPoseRemoving (PoseSeq::iterator it, bool isMoving)
 
virtual void onPoseModified (PoseSeq::iterator it)
 
virtual bool onTimeChanged (double time)=0
 
virtual void onInsertPoseButtonClicked ()=0
 
virtual bool restoreState (const Archive &archive)
 
virtual bool storeState (Archive &archive)
 
void onViewActivated ()
 
void onViewDeactivated ()
 
void onTimeSyncCheckToggled ()
 
void setupOperationParts ()
 
void setupLinkTreeWidget ()
 
bool isChecked (LinkTreeItem *item, int column)
 
void setChecked (LinkTreeItem *item, int column, bool checked)
 
void setCheckState (LinkTreeItem *item, int column, Qt::CheckState state)
 
void initializeLinkTree ()
 
void initializeLinkTreeIkLinkColumn ()
 
void initializeLinkTreeTraverse (QTreeWidgetItem *parentItem)
 
void togglePoseAttribute (boost::function< bool(PosePtr &pose)> toggleFunction)
 
void onBaseLinkRadioClicked ()
 
bool setBaseLink (PosePtr &pose, Link *link)
 
void onValidPartCheckClicked (LinkTreeItem *item, Qt::CheckState checkState)
 
bool toggleZmp (PosePtr &pose, bool on)
 
bool toggleLink (PosePtr &pose, LinkTreeItem *item, Link *link, bool partOn, bool ikOn)
 
bool togglePart (PosePtr &pose, LinkTreeItem *item, bool on)
 
void onStationaryPointCheckClicked (LinkTreeItem *linkTreeItem, Qt::CheckState checkState)
 
bool toggleZmpStationaryPoint (PosePtr &pose, bool on)
 
bool toggleStationaryPoint (PosePtr &pose, Link *link, bool on)
 
bool togglePartStationaryPoints (PosePtr &pose, LinkTreeItem *item, bool on)
 
void onIkPartCheckClicked (LinkTreeItem *item, Qt::CheckState checkState)
 
void onInterpolationParametersChanged ()
 
void onItemSelectionChanged (const ItemList< PoseSeqItem > &selectedItems)
 
void setCurrentItemName (ItemPtr item)
 
void onBodyKinematicStateEdited ()
 
void onUpdateButtonClicked ()
 
void setCurrentBodyStateToSelectedPoses (bool onlySelected)
 
bool setCurrentBodyStateToPose (PosePtr &pose, bool onlySelected)
 
bool setCurrentLinkStateToIkLink (Link *link, Pose::LinkInfo *linkInfo)
 
ChildrenState updateLinkTreeModelSub (LinkTreeItem *item, const BodyPtr &body, const Pose &pose)
 

Public Attributes

Viewview
 
std::ostream & os
 
QString textForEmptyName
 
PoseSeqItemPtr currentPoseSeqItem
 
PoseSeqPtr seq
 
bool isSelectedPoseMoving
 
BodyItemPtr currentBodyItem
 
BodyPtr body
 
double currentTime
 
double timeScale
 
PoseSeq::iterator currentPoseIter
 
PoseIterSet selectedPoseIters
 
PoseSeqPtr copiedPoses
 
ConnectionSet staticConnections
 
ConnectionSet poseSeqConnections
 
Connection connectionOfBodyKinematicStateEdited
 
ConnectionSet linkTreeAttributeChangeConnections
 
TimeBartimeBar
 
Connection connectionOfTimeChanged
 
LinkTreeWidgetlinkTreeWidget
 
int baseLinkColumn
 
ButtonGroupbaseLinkRadioGroup
 
int validPartColumn
 
int stationaryPointColumn
 
int ikPartColumn
 
boost::dynamic_bitset possibleIkLinkFlag
 
LinkTreeItemzmpRow
 
PosePtr poseForDefaultStateSetting
 
QLabel currentItemLabel
 
CheckBox timeSyncCheck
 
ToolButton insertPoseButton
 
ToolButton updateButton
 
ToggleToolButton updateAllToggle
 
ToolButton deleteButton
 
CheckBox autoUpdateModeCheck
 
DoubleSpinBox transitionTimeSpin
 
Menu popupMenu
 
MenuManager menuManager
 
PoseSelectionDialog * poseSelectionDialog
 
LinkPositionAdjustmentDialog * linkPositionAdjustmentDialog
 
YawOrientationRotationDialog * yawOrientationRotationDialog
 

Member Typedef Documentation

◆ PoseIterSet

Constructor & Destructor Documentation

◆ PoseSeqViewBase()

PoseSeqViewBase::PoseSeqViewBase ( View view)

◆ ~PoseSeqViewBase()

PoseSeqViewBase::~PoseSeqViewBase ( )

Member Function Documentation

◆ copySelectedPoses()

bool PoseSeqViewBase::copySelectedPoses ( )

◆ countSelectedKeyPoses()

void PoseSeqViewBase::countSelectedKeyPoses ( )

◆ cutSelectedPoses()

bool PoseSeqViewBase::cutSelectedPoses ( )

◆ deleteSelectedPoses()

bool PoseSeqViewBase::deleteSelectedPoses ( )

◆ doAutomaticInterpolationUpdate()

void PoseSeqViewBase::doAutomaticInterpolationUpdate ( )

◆ findPoseIterInSelected()

PoseSeqViewBase::PoseIterSet::iterator PoseSeqViewBase::findPoseIterInSelected ( PoseSeq::iterator  poseIter)

◆ initializeLinkTree()

void PoseSeqViewBase::initializeLinkTree ( )

◆ initializeLinkTreeIkLinkColumn()

void PoseSeqViewBase::initializeLinkTreeIkLinkColumn ( )

◆ initializeLinkTreeTraverse()

void PoseSeqViewBase::initializeLinkTreeTraverse ( QTreeWidgetItem *  parentItem)

◆ insertPose()

PoseSeq::iterator PoseSeqViewBase::insertPose ( )

◆ insertPoseUnit()

PoseSeq::iterator PoseSeqViewBase::insertPoseUnit ( PoseUnitPtr  poseUnit)

◆ insertPronunSymbol()

PoseSeq::iterator PoseSeqViewBase::insertPronunSymbol ( )

◆ isChecked()

bool PoseSeqViewBase::isChecked ( LinkTreeItem item,
int  column 
)

◆ modifyTransitionTimeOfSelectedPoses()

bool PoseSeqViewBase::modifyTransitionTimeOfSelectedPoses ( double  ttime)

◆ moveSelectedPoses()

bool PoseSeqViewBase::moveSelectedPoses ( double  time0)

true if actually modified

◆ onAdjustStepPositionsActivated()

void PoseSeqViewBase::onAdjustStepPositionsActivated ( )

◆ onAdjustWaistPositionActivated()

void PoseSeqViewBase::onAdjustWaistPositionActivated ( )

◆ onBaseLinkRadioClicked()

void PoseSeqViewBase::onBaseLinkRadioClicked ( )

◆ onBodyKinematicStateEdited()

void PoseSeqViewBase::onBodyKinematicStateEdited ( )
Todo:
Show visual effect to emphasize the key poses beging updated

◆ onDeleteButtonClicked()

void PoseSeqViewBase::onDeleteButtonClicked ( )
virtual

◆ onFlipPosesActivated()

void PoseSeqViewBase::onFlipPosesActivated ( )

◆ onIkPartCheckClicked()

void PoseSeqViewBase::onIkPartCheckClicked ( LinkTreeItem item,
Qt::CheckState  checkState 
)

◆ onInsertPoseButtonClicked()

virtual void cnoid::PoseSeqViewBase::onInsertPoseButtonClicked ( )
pure virtual

◆ onInterpolationParametersChanged()

void PoseSeqViewBase::onInterpolationParametersChanged ( )

◆ onItemSelectionChanged()

void PoseSeqViewBase::onItemSelectionChanged ( const ItemList< PoseSeqItem > &  selectedItems)

◆ onLinkPositionAdjustmentDialogAccepted()

void PoseSeqViewBase::onLinkPositionAdjustmentDialogAccepted ( )
Todo:
arbitrar selected link should be processed here

◆ onLinkTreeUpdateRequest()

void PoseSeqViewBase::onLinkTreeUpdateRequest ( bool  isInitialCreation)
virtual

◆ onPoseInserted()

void PoseSeqViewBase::onPoseInserted ( PoseSeq::iterator  it,
bool  isMoving 
)
virtual

◆ onPoseModified()

void PoseSeqViewBase::onPoseModified ( PoseSeq::iterator  it)
virtual
Todo:
update currentBodyItem and call notifyUpdate in this function ?

◆ onPoseRemoving()

void PoseSeqViewBase::onPoseRemoving ( PoseSeq::iterator  it,
bool  isMoving 
)
virtual

◆ onPoseSelectionDialogAccepted()

void PoseSeqViewBase::onPoseSelectionDialogAccepted ( )

◆ onRotateYawOrientationsActivated()

void PoseSeqViewBase::onRotateYawOrientationsActivated ( )

◆ onSelectedPosesModified()

void PoseSeqViewBase::onSelectedPosesModified ( )
virtual

◆ onSelectSpecifiedKeyPosesActivated()

void PoseSeqViewBase::onSelectSpecifiedKeyPosesActivated ( )

◆ onStationaryPointCheckClicked()

void PoseSeqViewBase::onStationaryPointCheckClicked ( LinkTreeItem linkTreeItem,
Qt::CheckState  checkState 
)

◆ onTimeChanged()

virtual bool cnoid::PoseSeqViewBase::onTimeChanged ( double  time)
pure virtual

◆ onTimeScaleChanged()

void PoseSeqViewBase::onTimeScaleChanged ( )
virtual

◆ onTimeSyncCheckToggled()

void PoseSeqViewBase::onTimeSyncCheckToggled ( )

◆ onUpdateButtonClicked()

void PoseSeqViewBase::onUpdateButtonClicked ( )

◆ onUpdateKeyposesWithBalancedTrajectoriesActivated()

void PoseSeqViewBase::onUpdateKeyposesWithBalancedTrajectoriesActivated ( )

◆ onValidPartCheckClicked()

void PoseSeqViewBase::onValidPartCheckClicked ( LinkTreeItem item,
Qt::CheckState  checkState 
)

◆ onViewActivated()

void PoseSeqViewBase::onViewActivated ( )

◆ onViewDeactivated()

void PoseSeqViewBase::onViewDeactivated ( )

◆ onYawOrientationRotationDialogAccepted()

void PoseSeqViewBase::onYawOrientationRotationDialogAccepted ( )

◆ pasteCopiedPoses()

bool PoseSeqViewBase::pasteCopiedPoses ( double  timeToPaste)

◆ popupContextMenu()

void PoseSeqViewBase::popupContextMenu ( QMouseEvent *  event)

◆ quantizedTime()

double PoseSeqViewBase::quantizedTime ( double  time)

◆ removeSelectedPartsFromKeyPoses()

void PoseSeqViewBase::removeSelectedPartsFromKeyPoses ( )

◆ restoreState()

bool PoseSeqViewBase::restoreState ( const Archive archive)
virtual

◆ selectAllPoses()

void PoseSeqViewBase::selectAllPoses ( )

◆ selectAllPosesAfterCurrentPosition()

void PoseSeqViewBase::selectAllPosesAfterCurrentPosition ( )

◆ selectAllPosesBeforeCurrentPosition()

void PoseSeqViewBase::selectAllPosesBeforeCurrentPosition ( )

◆ selectPosesHavingSelectedLinks()

void PoseSeqViewBase::selectPosesHavingSelectedLinks ( )

◆ selectPosesJustHavingSelectedLinks()

void PoseSeqViewBase::selectPosesJustHavingSelectedLinks ( )

◆ setBaseLink()

bool PoseSeqViewBase::setBaseLink ( PosePtr pose,
Link link 
)

◆ setChecked()

void PoseSeqViewBase::setChecked ( LinkTreeItem item,
int  column,
bool  checked 
)

◆ setCheckState()

void PoseSeqViewBase::setCheckState ( LinkTreeItem item,
int  column,
Qt::CheckState  state 
)

◆ setCurrentBodyStateToPose()

bool PoseSeqViewBase::setCurrentBodyStateToPose ( PosePtr pose,
bool  onlySelected 
)

◆ setCurrentBodyStateToSelectedPoses()

void PoseSeqViewBase::setCurrentBodyStateToSelectedPoses ( bool  onlySelected)
Todo:
This should be processed by PoseSeq slots

◆ setCurrentItemName()

void PoseSeqViewBase::setCurrentItemName ( ItemPtr  item)

◆ setCurrentLinkStateToIkLink()

bool PoseSeqViewBase::setCurrentLinkStateToIkLink ( Link link,
Pose::LinkInfo linkInfo 
)
Returns
true if state is modified
Todo:
set a parting direction correctly (now it is assumed that the touching only happens for the flat and level floor).

◆ setCurrentPoseSeqItem()

void PoseSeqViewBase::setCurrentPoseSeqItem ( PoseSeqItemPtr  poseSeqItem)
virtual

◆ setupLinkTreeWidget()

void PoseSeqViewBase::setupLinkTreeWidget ( )

◆ setupOperationParts()

void PoseSeqViewBase::setupOperationParts ( )

◆ storeState()

bool PoseSeqViewBase::storeState ( Archive archive)
virtual

◆ toggleLink()

bool PoseSeqViewBase::toggleLink ( PosePtr pose,
LinkTreeItem item,
Link link,
bool  partOn,
bool  ikOn 
)

◆ togglePart()

bool PoseSeqViewBase::togglePart ( PosePtr pose,
LinkTreeItem item,
bool  on 
)

◆ togglePartStationaryPoints()

bool PoseSeqViewBase::togglePartStationaryPoints ( PosePtr pose,
LinkTreeItem item,
bool  on 
)

◆ togglePoseAttribute()

void PoseSeqViewBase::togglePoseAttribute ( boost::function< bool(PosePtr &pose)>  toggleFunction)
Todo:
This should be processed by PoseSeq slots

◆ toggleSelection()

bool PoseSeqViewBase::toggleSelection ( PoseSeq::iterator  poseIter,
bool  adding,
bool  changeTime 
)

◆ toggleStationaryPoint()

bool PoseSeqViewBase::toggleStationaryPoint ( PosePtr pose,
Link link,
bool  on 
)

◆ toggleZmp()

bool PoseSeqViewBase::toggleZmp ( PosePtr pose,
bool  on 
)

◆ toggleZmpStationaryPoint()

bool PoseSeqViewBase::toggleZmpStationaryPoint ( PosePtr pose,
bool  on 
)

◆ updateLinkTreeModel()

void PoseSeqViewBase::updateLinkTreeModel ( )

◆ updateLinkTreeModelSub()

PoseSeqViewBase::ChildrenState PoseSeqViewBase::updateLinkTreeModelSub ( LinkTreeItem item,
const BodyPtr body,
const Pose pose 
)
Todo:
put warning here or do the following call ?

Member Data Documentation

◆ autoUpdateModeCheck

CheckBox cnoid::PoseSeqViewBase::autoUpdateModeCheck

◆ baseLinkColumn

int cnoid::PoseSeqViewBase::baseLinkColumn

◆ baseLinkRadioGroup

ButtonGroup* cnoid::PoseSeqViewBase::baseLinkRadioGroup

◆ body

BodyPtr cnoid::PoseSeqViewBase::body

◆ connectionOfBodyKinematicStateEdited

Connection cnoid::PoseSeqViewBase::connectionOfBodyKinematicStateEdited

◆ connectionOfTimeChanged

Connection cnoid::PoseSeqViewBase::connectionOfTimeChanged

◆ copiedPoses

PoseSeqPtr cnoid::PoseSeqViewBase::copiedPoses

◆ currentBodyItem

BodyItemPtr cnoid::PoseSeqViewBase::currentBodyItem

◆ currentItemLabel

QLabel cnoid::PoseSeqViewBase::currentItemLabel

◆ currentPoseIter

PoseSeq::iterator cnoid::PoseSeqViewBase::currentPoseIter

◆ currentPoseSeqItem

PoseSeqItemPtr cnoid::PoseSeqViewBase::currentPoseSeqItem

◆ currentTime

double cnoid::PoseSeqViewBase::currentTime

◆ deleteButton

ToolButton cnoid::PoseSeqViewBase::deleteButton

◆ ikPartColumn

int cnoid::PoseSeqViewBase::ikPartColumn

◆ insertPoseButton

ToolButton cnoid::PoseSeqViewBase::insertPoseButton

◆ isSelectedPoseMoving

bool cnoid::PoseSeqViewBase::isSelectedPoseMoving

◆ linkPositionAdjustmentDialog

LinkPositionAdjustmentDialog* cnoid::PoseSeqViewBase::linkPositionAdjustmentDialog

◆ linkTreeAttributeChangeConnections

ConnectionSet cnoid::PoseSeqViewBase::linkTreeAttributeChangeConnections

◆ linkTreeWidget

LinkTreeWidget* cnoid::PoseSeqViewBase::linkTreeWidget

◆ menuManager

MenuManager cnoid::PoseSeqViewBase::menuManager

◆ os

std::ostream& cnoid::PoseSeqViewBase::os

◆ popupMenu

Menu cnoid::PoseSeqViewBase::popupMenu

◆ poseForDefaultStateSetting

PosePtr cnoid::PoseSeqViewBase::poseForDefaultStateSetting

◆ poseSelectionDialog

PoseSelectionDialog* cnoid::PoseSeqViewBase::poseSelectionDialog

◆ poseSeqConnections

ConnectionSet cnoid::PoseSeqViewBase::poseSeqConnections

◆ possibleIkLinkFlag

boost::dynamic_bitset cnoid::PoseSeqViewBase::possibleIkLinkFlag

◆ selectedPoseIters

PoseIterSet cnoid::PoseSeqViewBase::selectedPoseIters

◆ seq

PoseSeqPtr cnoid::PoseSeqViewBase::seq

◆ staticConnections

ConnectionSet cnoid::PoseSeqViewBase::staticConnections

◆ stationaryPointColumn

int cnoid::PoseSeqViewBase::stationaryPointColumn

◆ textForEmptyName

QString cnoid::PoseSeqViewBase::textForEmptyName

◆ timeBar

TimeBar* cnoid::PoseSeqViewBase::timeBar

◆ timeScale

double cnoid::PoseSeqViewBase::timeScale

◆ timeSyncCheck

CheckBox cnoid::PoseSeqViewBase::timeSyncCheck

◆ transitionTimeSpin

DoubleSpinBox cnoid::PoseSeqViewBase::transitionTimeSpin

◆ updateAllToggle

ToggleToolButton cnoid::PoseSeqViewBase::updateAllToggle

◆ updateButton

ToolButton cnoid::PoseSeqViewBase::updateButton

◆ validPartColumn

int cnoid::PoseSeqViewBase::validPartColumn

◆ view

View* cnoid::PoseSeqViewBase::view

◆ yawOrientationRotationDialog

YawOrientationRotationDialog* cnoid::PoseSeqViewBase::yawOrientationRotationDialog

◆ zmpRow

LinkTreeItem* cnoid::PoseSeqViewBase::zmpRow

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