8#ifndef _CO_VR_INTERSECTION_INTERACTOR_H
9#define _CO_VR_INTERSECTION_INTERACTOR_H
15#include <osg/MatrixTransform>
58 osg::StateSet *loadDefaultGeostate();
59 bool constantInteractorSize_ =
true;
61 bool firstTime =
true;
62 bool _highliteHitNodeOnly;
64 osg::Geode *findGeode(osg::Node *n);
71 osg::MatrixTransform *parent =
nullptr;
72 char *_interactorName =
nullptr;
73 char *labelStr_ =
nullptr;
76 bool _intersectionEnabled =
true;
77 bool _justHit =
false;
79 bool _standardHL =
true;
81 osg::Node *_interactionHitNode =
nullptr;
89 bool m_isInitializedThroughSharedState =
false;
115 coVRIntersectionInteractor(
float size, coInteraction::InteractionType buttonId,
const char *iconName,
const char *interactorName,
enum coInteraction::InteractionPriority priority,
bool highliteHitNodeOnly =
false);
189 return _interactorName;
205 return moveTransform->getMatrix();
210 return moveTransform->getMatrix();
OpenVRUI interface to (object-pointing device) intersections.
Definition: ARToolKit.h:33
Definition: coClusterStat.h:29
Definition: coTabletUI.h:59
Definition: coVRIntersectionInteractor.h:27
Definition: coVRIntersectionInteractor.h:56
virtual bool isShared() const
query whether Element state is shared among collaborative partners
char * getInteractorName()
class methods for traversing children
Definition: coVRIntersectionInteractor.h:187
bool wasHit()
Definition: coVRIntersectionInteractor.h:172
osg::ref_ptr< osg::Node > geometryNode
Geometry node.
Definition: coVRIntersectionInteractor.h:67
void enableIntersection()
osg::ref_ptr< osg::MatrixTransform > scaleTransform
Definition: coVRIntersectionInteractor.h:69
coVRIntersectionInteractor(float size, coInteraction::InteractionType buttonId, const char *iconName, const char *interactorName, enum coInteraction::InteractionPriority priority, bool highliteHitNodeOnly=false)
virtual void stopInteraction()
virtual ~coVRIntersectionInteractor()
bool isInitializedThroughSharedState()
std::unique_ptr< vrb::SharedStateBase > m_sharedState
Definition: coVRIntersectionInteractor.h:92
osg::Vec3 getHitPos()
Definition: coVRIntersectionInteractor.h:178
virtual void startInteraction()
virtual void createGeometry()=0
osg::Vec3 _hitPos
Definition: coVRIntersectionInteractor.h:83
virtual void doInteraction()
osg::ref_ptr< osg::Node > _hitNode
Definition: coVRIntersectionInteractor.h:80
void disableIntersection()
osg::ref_ptr< osg::MatrixTransform > interactorCaseTransform
Definition: coVRIntersectionInteractor.h:70
float _interSize
Definition: coVRIntersectionInteractor.h:90
const osg::Matrix & getMatrix() const
Definition: coVRIntersectionInteractor.h:208
osg::ref_ptr< osg::MatrixTransform > moveTransform
Definition: coVRIntersectionInteractor.h:68
virtual void resetState()
virtual int hit(vrui::vruiHit *hit)
int isIntersected()
Definition: coVRIntersectionInteractor.h:166
osg::ref_ptr< osg::StateSet > _intersectedHl
Definition: coVRIntersectionInteractor.h:86
osg::Vec3 restrictToVisibleScene(osg::Vec3)
osg::Matrix getMatrix()
Definition: coVRIntersectionInteractor.h:203
virtual void removeIcon()
const osg::Matrix & getPointerMat() const
virtual void setShared(bool state)
make state shared among partners in a collaborative session
void setCaseTransform(osg::MatrixTransform *)
virtual void updateSharedState()
reimplement in derived class for updating value of m_sharedState
Definition: coVRLabel.h:52
Definition: coAction.h:26
Definition: coCombinedButtonInteraction.h:22
Definition: OSGVruiNode.h:21