19 namespace visBase {
class EventInfo; }
21 namespace osg {
class Switch;
class Node;
class StateSet; }
23 namespace osgGeo {
class GLInfo; }
25 #define mVisTrans visBase::Transformation 32 class SelectionManager;
35 class DataObjectGroup;
66 virtual bool isOK()
const {
return true; }
68 int id()
const {
return id_; }
71 static int getID(
const osg::Node*);
74 virtual void setName(
const uiString&);
76 osg::Node* osgNode(
bool skipswitch=
false);
77 const osg::Node* osgNode(
bool skipswitch=
false)
const;
79 void enableTraversal(
unsigned int mask,
bool yn=
true);
80 bool isTraversalEnabled(
unsigned int mask)
const;
82 virtual bool turnOn(
bool yn);
83 virtual bool isOn()
const;
85 bool isPickable(
bool actively=
true)
const;
86 void setPickable(
bool actively,
bool passively=
true);
95 void deSelect()
const;
98 void updateSel()
const;
102 virtual bool isSelected()
const;
108 virtual void setDisplayTransformation(
const mVisTrans*);
131 virtual void setPixelDensity(
float dpi);
132 static float getDefaultPixelDensity();
133 virtual float getPixelDensity()
const;
138 bool serialize(
const char* filename,
144 { doAddNodeState(ns);
return ns; }
150 static bool isVisualizationThread();
152 static void requestSingleRedraw();
154 static void setCommonViewer(osgViewer::CompositeViewer*);
155 static osgViewer::CompositeViewer* getCommonViewer();
158 static const osgGeo::GLInfo* getGLInfo();
167 virtual osg::StateSet* getStateSet();
185 setOsgNodeInternal( (osg::Node*) t );
190 void updateNodemask();
193 void setOsgNodeInternal(osg::Node*);
194 void updateOsgNodeData();
210 #define mCreateDataObj(clss) \ 216 static visBase::DataObject* createInternal() \ 217 { return new clss; } \ 218 clss& operator =(const clss&); \ 222 static void initClass(); \ 223 static const char* getStaticClassName(); \ 224 static const char* sFactoryKeyword(); \ 225 virtual const char* getClassName() const 228 #define mCreateFactoryEntry( clss ) \ 229 const char* clss::getStaticClassName() { return #clss; } \ 230 const char* clss::getClassName() const \ 231 { return clss::getStaticClassName(); } \ 232 const char* clss::sFactoryKeyword() { return #clss; } \ 233 void clss::initClass() \ 234 { visBase::DataManager::factory().addCreator( \ 235 createInternal, getStaticClassName() ); } #define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
void turnOn(int flag)
Overrides the envirnonment variable.
unsigned int cDraggerIntersecTraversalMask()
Definition: visdata.h:49
DataObjectGroup * parent_
Definition: visdata.h:180
osg::Switch * osgoffswitch_
Definition: visdata.h:198
void setParent(DataObjectGroup *g)
Definition: visdata.h:141
virtual bool selectable() const
Definition: visdata.h:91
virtual const char * getClassName() const
Definition: visdata.h:64
uiString name_
Definition: visdata.h:201
Definition: visdatagroup.h:24
virtual NotifierAccess * rightClicked()
Definition: visdata.h:105
bool ison_
Definition: visdata.h:200
Interface class for Notifier. See comments there.
Definition: notify.h:20
T * setOsgNode(T *t)
Must be called during construction.
Definition: visdata.h:183
virtual NotifierAccess * deSelection()
Definition: visdata.h:104
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:59
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:35
virtual void triggerSel()
Definition: visdata.h:172
static const uiString & emptyString()
Definition: uistring.h:107
Definition: uistring.h:88
virtual const uiString & errMsg() const
Definition: visdata.h:135
virtual bool isOK() const
Definition: visdata.h:66
Definition: visnodestate.h:25
virtual void triggerDeSel()
Definition: visdata.h:174
virtual bool rightClickable() const
Definition: visdata.h:90
Class to help setup a callback handling.
Definition: notify.h:121
Set of pointers to objects.
Definition: commontypes.h:28
unsigned int cBBoxTraversalMask()
Definition: visdata.h:43
T * addNodeState(T *ns)
Definition: visdata.h:143
bool isOn(int flag=0xffff)
SelectionManager handles DataObject that can be selected. If an object can be selected, it has to register himself with regSelObject. At registration it has to give two objects, first of all, he gives the object that outside users will associate him with when they want to add their CB to detect his selection.
Definition: visselman.h:37
void * ThreadID
Definition: thread.h:33
#define mVisTrans
Definition: visdata.h:25
virtual void setRightHandSystem(bool yn)
Definition: visdata.h:126
unsigned int cActiveIntersecTraversalMask()
Definition: visdata.h:45
virtual void triggerRightClick(const EventInfo *=0)
Definition: visdata.h:176
unsigned int enabledmask_
Definition: visdata.h:202
static osgViewer::CompositeViewer * commonviewer_
Definition: visdata.h:204
osg::Node * osgnode_
Definition: visdata.h:197
virtual bool isRightHandSystem() const
Definition: visdata.h:129
virtual const visBase::Transformation * getDisplayTransformation() const
Definition: visdata.h:117
virtual const TypeSet< int > * rightClickedPath() const
Definition: visdata.h:106
Definition: visannot.h:40
static NotifierAccess & glInfoAvailable()
Definition: visdata.h:162
static Notifier< DataObject > glinfoavailable_
Definition: visdata.h:205
Scene manages all DataObjects and has some managing functions such as the selection management and va...
Definition: visscene.h:38
Open Scene Graph.
Definition: visannot.h:26
ObjectSet< NodeState > nodestates_
Definition: visdata.h:196
Definition: visevent.h:40
int id() const
Definition: visdata.h:68
int id_
Definition: visdata.h:199
virtual NotifierAccess * selection()
Definition: visdata.h:103
static Threads::ThreadID visualizationthread_
Definition: visdata.h:203
unsigned int cPassiveIntersecTraversalMask()
Definition: visdata.h:46
unsigned int cAllTraversalMask()
Definition: visdata.h:41
unsigned int cIntersectionTraversalMask()
Definition: visdata.h:47
unsigned int cNoTraversalMask()
Definition: visdata.h:40
unsigned int cEventTraversalMask()
Definition: visdata.h:42