OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
opencover::coVRIntersectionInteractor Class Referenceabstract

#include <coVRIntersectionInteractor.h>

Inheritance diagram for opencover::coVRIntersectionInteractor:
Inheritance graph
[legend]
Collaboration diagram for opencover::coVRIntersectionInteractor:
Collaboration graph
[legend]

Public Member Functions

 coVRIntersectionInteractor (float size, coInteraction::InteractionType buttonId, const char *iconName, const char *interactorName, enum coInteraction::InteractionPriority priority)
 
virtual ~coVRIntersectionInteractor ()
 
void enableIntersection ()
 
bool isEnabled ()
 
void disableIntersection ()
 
virtual int hit (vrui::vruiHit *hit)
 
virtual void miss ()
 
virtual void startInteraction ()
 
virtual void doInteraction ()
 
virtual void stopInteraction ()
 
void show ()
 
void hide ()
 
bool isInitializedThroughSharedState ()
 
virtual void setShared (bool state)
 make state shared among partners in a collaborative session More...
 
virtual bool isShared () const
 query whether Element state is shared among collaborative partners More...
 
virtual void addIcon ()
 
virtual void removeIcon ()
 
virtual void resetState ()
 
int isIntersected ()
 
bool wasHit ()
 
osg::Vec3 getHitPos ()
 
osg::Node * getHitNode ()
 
virtual void preFrame ()
 
char * getInteractorName ()
 class methods for traversing children More...
 
osg::Matrix getMatrix ()
 
void setCaseTransform (osg::MatrixTransform *)
 
- Public Member Functions inherited from vrui::coAction
 coAction ()
 Constructor. More...
 
virtual ~coAction ()
 Destructor. More...
 
void setFrame (unsigned int frame)
 INTERNAL set the framecounter (used to produce the miss call) More...
 
unsigned int getFrame () const
 INTERNAL get the framecounter (used to produce the miss call) More...
 
void setNode (vruiNode *)
 INTERNAL set the node this action belongs to. More...
 
void addChild (coAction *)
 INTERNAL add a child action. More...
 
virtual int hitAll (vruiHit *hit)
 INTERNAL same as miss/hit, but do it for all children as well. More...
 
virtual void missAll ()
 INTERNAL same as miss/hit, but do it for all children as well. More...
 
- Public Member Functions inherited from vrui::coCombinedButtonInteraction
 coCombinedButtonInteraction (InteractionType type, const std::string &name, InteractionPriority priority=Medium)
 
virtual ~coCombinedButtonInteraction ()
 
virtual void setHitByMouse (bool)
 
virtual bool isMouse () const
 
virtual vruiMatrixgetHandMatrix () const
 
virtual bool is2D () const
 
- Public Member Functions inherited from vrui::coButtonInteraction
 coButtonInteraction (InteractionType type, const std::string &name, InteractionPriority priority=Medium)
 
virtual ~coButtonInteraction ()
 
virtual void cancelInteraction ()
 
int getWheelCount () const
 
- Public Member Functions inherited from vrui::coInteraction
 coInteraction (InteractionType type, const std::string &name, InteractionPriority priority=Medium)
 
virtual ~coInteraction ()
 
InteractionState getState () const
 
InteractionType getType () const
 
InteractionPriority getPriority () const
 
InteractionGroup getGroup () const
 
void setGroup (InteractionGroup group)
 
int getRemoteLockID () const
 
void setRemoteLockID (int ID)
 
void setRemoteLock (bool)
 
void setRemoteActive (bool)
 
void requestActivation ()
 
virtual void setName (const std::string &name)
 
virtual bool hasPriority ()
 
virtual void cancelPendingActivation ()
 
virtual void doActivation ()
 
virtual void pause ()
 
virtual const std::string & getName () const
 
bool activate ()
 
bool isRegistered ()
 
void setNotifyOnly (bool flag)
 
bool isNotifyOnly ()
 
bool wasStarted () const
 
bool isRunning () const
 
bool wasStopped () const
 
bool isIdle () const
 

Protected Member Functions

virtual void createGeometry ()=0
 
virtual void keepSize ()
 
float getScale () const
 
osg::Vec3 restrictToVisibleScene (osg::Vec3)
 
const osg::Matrix & getPointerMat () const
 
virtual void updateSharedState ()
 reimplement in derived class for updating value of m_sharedState More...
 
- Protected Member Functions inherited from vrui::coCombinedButtonInteraction
virtual void update ()
 
- Protected Member Functions inherited from vrui::coButtonInteraction
virtual bool conditionMet () const
 
virtual bool conditionBecameMet () const
 
void updateState (vruiButtons *button)
 

Protected Attributes

osg::ref_ptr< osg::Node > geometryNode
 Geometry node. More...
 
osg::ref_ptr
< osg::MatrixTransform > 
moveTransform
 
osg::ref_ptr
< osg::MatrixTransform > 
scaleTransform
 
osg::ref_ptr
< osg::MatrixTransform > 
interactorCaseTransform
 
osg::MatrixTransform * parent
 
char * _interactorName
 
char * labelStr_
 
bool _hit
 
bool _intersectionEnabled
 
bool _justHit
 
bool _wasHit
 
bool _standardHL
 
osg::ref_ptr< osg::Node > _hitNode
 
osg::Vec3 _hitPos
 
vrui::OSGVruiNodevNode
 
osg::ref_ptr< osg::StateSet > _selectedHl
 
osg::ref_ptr< osg::StateSet > _intersectedHl
 
osg::ref_ptr< osg::StateSet > _oldHl
 
coVRLabellabel_
 
bool m_isInitializedThroughSharedState = false
 
float _interSize
 
float _scale = 1.
 
std::unique_ptr
< vrb::SharedStateBase > 
m_sharedState
 
- Protected Attributes inherited from vrui::coAction
std::string actionName
 
- Protected Attributes inherited from vrui::coCombinedButtonInteraction
bool mouse
 
- Protected Attributes inherited from vrui::coButtonInteraction
unsigned buttonmask = 0
 
int wheelCount = 0
 
vruiButtonsbutton = nullptr
 
- Protected Attributes inherited from vrui::coInteraction
std::string name
 
InteractionState state
 
InteractionType type
 
InteractionPriority priority
 
InteractionGroup group = GroupNonexclusive
 
RunningState runningState
 
bool notifyOnly
 
bool hasPriorityFlag
 
bool registered
 
bool remoteLock
 
int remoteLockID
 

Additional Inherited Members

- Public Types inherited from vrui::coAction
enum  Result { ACTION_DONE = 0x00, ACTION_CALL_ON_MISS = 0x01, ACTION_UNDEF = 0x02 }
 
- Public Types inherited from vrui::coInteraction
enum  InteractionState {
  Idle = 0, PendingActive, Active, Paused,
  RemoteActive, ActiveNotify, Stopped
}
 
enum  InteractionPriority {
  Low = 0, Navigation, NavigationHigh, Medium,
  High, Menu, Highest
}
 
enum  InteractionType {
  ButtonA = 0, ButtonAction = ButtonA, ButtonB, ButtonDrive = ButtonB,
  ButtonC, ButtonXform = ButtonC, ButtonD, ButtonForward = ButtonD,
  ButtonE, ButtonBack = ButtonE, ButtonToggleDocuments, ButtonDrag,
  ButtonZoom, ButtonMenu, ButtonQuit, ButtonNextInter,
  ButtonPrevInter, ButtonNextPerson, ButtonPrevPerson, LastButton = ButtonPrevPerson,
  WheelHorizontal, WheelVertical, Wheel = WheelVertical, Joystick,
  AllButtons, NoButton, NumInteractorTypes
}
 
enum  InteractionGroup { GroupNonexclusive, GroupNavigation }
 
enum  RunningState { StateStarted = 0, StateRunning, StateStopped, StateNotRunning }
 

Constructor & Destructor Documentation

opencover::coVRIntersectionInteractor::coVRIntersectionInteractor ( float  size,
coInteraction::InteractionType  buttonId,
const char *  iconName,
const char *  interactorName,
enum coInteraction::InteractionPriority  priority 
)
virtual opencover::coVRIntersectionInteractor::~coVRIntersectionInteractor ( )
virtual

Member Function Documentation

virtual void opencover::coVRIntersectionInteractor::addIcon ( )
virtual

Reimplemented from vrui::coInteraction.

virtual void opencover::coVRIntersectionInteractor::createGeometry ( )
protectedpure virtual
void opencover::coVRIntersectionInteractor::disableIntersection ( )
virtual void opencover::coVRIntersectionInteractor::doInteraction ( )
virtual
void opencover::coVRIntersectionInteractor::enableIntersection ( )
osg::Node* opencover::coVRIntersectionInteractor::getHitNode ( )
osg::Vec3 opencover::coVRIntersectionInteractor::getHitPos ( )
inline
char* opencover::coVRIntersectionInteractor::getInteractorName ( )
inline

class methods for traversing children

osg::Matrix opencover::coVRIntersectionInteractor::getMatrix ( )
inline
const osg::Matrix& opencover::coVRIntersectionInteractor::getPointerMat ( ) const
protected
float opencover::coVRIntersectionInteractor::getScale ( ) const
protected
void opencover::coVRIntersectionInteractor::hide ( )
virtual int opencover::coVRIntersectionInteractor::hit ( vrui::vruiHit hit)
virtual

hit is called whenever the node, or any node underneath the node with this action is intersected return ACTION_CALL_ON_MISS if you want miss to be called otherwise return ACTION_DONE

Implements vrui::coAction.

bool opencover::coVRIntersectionInteractor::isEnabled ( )
bool opencover::coVRIntersectionInteractor::isInitializedThroughSharedState ( )
int opencover::coVRIntersectionInteractor::isIntersected ( )
inline
virtual bool opencover::coVRIntersectionInteractor::isShared ( ) const
virtual

query whether Element state is shared among collaborative partners

virtual void opencover::coVRIntersectionInteractor::keepSize ( )
protectedvirtual
virtual void opencover::coVRIntersectionInteractor::miss ( )
virtual

miss is called once after a hit, if the node is not intersected anymore

Reimplemented from vrui::coAction.

virtual void opencover::coVRIntersectionInteractor::preFrame ( )
virtual
virtual void opencover::coVRIntersectionInteractor::removeIcon ( )
virtual

Reimplemented from vrui::coInteraction.

virtual void opencover::coVRIntersectionInteractor::resetState ( )
virtual

Reimplemented from vrui::coButtonInteraction.

osg::Vec3 opencover::coVRIntersectionInteractor::restrictToVisibleScene ( osg::Vec3  )
protected
void opencover::coVRIntersectionInteractor::setCaseTransform ( osg::MatrixTransform *  )
virtual void opencover::coVRIntersectionInteractor::setShared ( bool  state)
virtual

make state shared among partners in a collaborative session

Reimplemented in opencover::coVR3DTransRotInteractor.

void opencover::coVRIntersectionInteractor::show ( )
virtual void opencover::coVRIntersectionInteractor::startInteraction ( )
virtual
virtual void opencover::coVRIntersectionInteractor::stopInteraction ( )
virtual

Reimplemented from vrui::coButtonInteraction.

Reimplemented in opencover::coVR3DRotCenterInteractor.

virtual void opencover::coVRIntersectionInteractor::updateSharedState ( )
protectedvirtual

reimplement in derived class for updating value of m_sharedState

Reimplemented in opencover::coVR3DTransRotInteractor.

bool opencover::coVRIntersectionInteractor::wasHit ( )
inline

Member Data Documentation

bool opencover::coVRIntersectionInteractor::_hit
protected
osg::ref_ptr<osg::Node> opencover::coVRIntersectionInteractor::_hitNode
protected
osg::Vec3 opencover::coVRIntersectionInteractor::_hitPos
protected
char* opencover::coVRIntersectionInteractor::_interactorName
protected
osg::ref_ptr<osg::StateSet> opencover::coVRIntersectionInteractor::_intersectedHl
protected
bool opencover::coVRIntersectionInteractor::_intersectionEnabled
protected
float opencover::coVRIntersectionInteractor::_interSize
protected
bool opencover::coVRIntersectionInteractor::_justHit
protected
osg::ref_ptr<osg::StateSet> opencover::coVRIntersectionInteractor::_oldHl
protected
float opencover::coVRIntersectionInteractor::_scale = 1.
protected
osg::ref_ptr<osg::StateSet> opencover::coVRIntersectionInteractor::_selectedHl
protected
bool opencover::coVRIntersectionInteractor::_standardHL
protected
bool opencover::coVRIntersectionInteractor::_wasHit
protected
osg::ref_ptr<osg::Node> opencover::coVRIntersectionInteractor::geometryNode
protected

Geometry node.

osg::ref_ptr<osg::MatrixTransform> opencover::coVRIntersectionInteractor::interactorCaseTransform
protected
coVRLabel* opencover::coVRIntersectionInteractor::label_
protected
char* opencover::coVRIntersectionInteractor::labelStr_
protected
bool opencover::coVRIntersectionInteractor::m_isInitializedThroughSharedState = false
protected
std::unique_ptr<vrb::SharedStateBase> opencover::coVRIntersectionInteractor::m_sharedState
protected
osg::ref_ptr<osg::MatrixTransform> opencover::coVRIntersectionInteractor::moveTransform
protected
osg::MatrixTransform* opencover::coVRIntersectionInteractor::parent
protected
osg::ref_ptr<osg::MatrixTransform> opencover::coVRIntersectionInteractor::scaleTransform
protected
vrui::OSGVruiNode* opencover::coVRIntersectionInteractor::vNode
protected

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