OpendTect  6.6
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
visBase::MarkerSet Class Reference

MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable. More...

Inheritance diagram for visBase::MarkerSet:
[legend]

Public Types

enum  AutoRotateMode { NO_ROTATION , ROTATE_TO_SCREEN , ROTATE_TO_CAMERA , ROTATE_TO_AXIS }
 
- Public Types inherited from ObjectWithName
typedef OD::String name_type
 

Public Member Functions

 MarkerSet ()
 
void addPolygonOffsetNodeState ()
 
int addPos (const Coord3 &, bool draw=true)
 
void applyRotationToAllMarkers (bool)
 
void clearMarkers ()
 Removes all markers. More...
 
void doFaceCamera (bool yn)
 
bool facesCamera () const
 
int findClosestMarker (const Coord3 &, bool scenespace=false)
 
int findMarker (const Coord3 &, const Coord3 &eps, bool scenespace=false)
 
void forceRedraw (bool)
 
virtual const char * getClassName () const
 
void getColorArray (TypeSet< Color > &colors) const
 
Coordinates * getCoordinates ()
 
const Coordinates * getCoordinates () const
 
const visBase::Transformation * getDisplayTransformation () const
 
float getMarkerHeightRatio () const
 
Color getMarkersSingleColor () const
 
MarkerStyle3D & getMarkerStyle ()
 
const MarkerStyle3D & getMarkerStyle () const
 
float getMaximumScale () const
 
float getMinimumScale () const
 
Normals * getNormals ()
 
float getPixelDensity () const
 
float getScreenSize () const
 
MarkerStyle3D::Type getType () const
 
void insertPos (int, const Coord3 &, bool draw=true)
 
bool markerOn (unsigned int)
 
void removeMarker (int idx)
 
void removePolygonOffsetNodeState ()
 
void setAutoRotateMode (AutoRotateMode)
 
void setDisplayTransformation (const visBase::Transformation *)
 
void setMarkerHeightRatio (float)
 
void setMarkerResolution (float res)
 
void setMarkersSingleColor (const Color &singlecolor)
 
void setMarkerStyle (const MarkerStyle3D &)
 
void setMaterial (visBase::Material *)
 If material is null, markers will be single color. More...
 
void setMaximumScale (float)
 
void setMinimumScale (float)
 
void setPixelDensity (float)
 
void setPos (int, const Coord3 &, bool draw=true)
 
void setRotationForAllMarkers (const Coord3 &, const float)
 
void setScreenSize (float)
 
void setSingleMarkerRotation (const Quaternion &, int)
 
void setType (MarkerStyle3D::Type)
 
int size () const
 
void turnAllMarkersOn (bool)
 
void turnMarkerOn (unsigned int idx, bool)
 
bool usesSingleColor () const
 
- Public Member Functions inherited from visBase::VisualObjectImpl
virtual void fillPar (IOPar &) const
 
Material * getMaterial ()
 
const Material * getMaterial () const
 
bool isRightHandSystem () const
 
void readLock ()
 
void readUnLock ()
 
void setLockable ()
 
void setMaterial (Material *)
 
void setRightHandSystem (bool yn)
 
bool tryReadLock ()
 
bool tryWriteLock ()
 
virtual bool usePar (const IOPar &)
 
void writeLock ()
 
void writeUnLock ()
 
- Public Member Functions inherited from visBase::VisualObject
NotifierAccess * deSelection ()
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
virtual NotifierAccess * rightClicked ()
 
const EventInfo * rightClickedEventInfo () const
 
const TypeSet< int > * rightClickedPath () const
 
bool selectable () const
 
NotifierAccess * selection ()
 
virtual void setSceneEventCatcher (EventCatcher *)
 
void setSelectable (bool yn)
 
- Public Member Functions inherited from visBase::DataObject
template<class T >
T * addNodeState (T *ns)
 
void deSelect () const
 
void enableTraversal (unsigned int mask, bool yn=true)
 
virtual const char * errMsg () const
 
SoNode * getInventorNode ()
 
const SoNode * getInventorNode () const
 
virtual BufferString getName () const
 
NodeState * getNodeState (int idx)
 
int id () const
 
virtual bool isOK () const
 
virtual bool isOn () const
 
bool isPickable (bool actively=true) const
 
virtual bool isSelected () const
 
bool isTraversalEnabled (unsigned int mask) const
 
virtual const OD::String & name () const
 
osg::Node * osgNode (bool skipswitch=false)
 
const osg::Node * osgNode (bool skipswitch=false) const
 
NodeState * removeNodeState (NodeState *)
 
virtual bool rightClickable () const
 
void select () const
 
bool serialize (const char *filename, bool binary=false)
 
void setID (int nid)
 
virtual void setName (const char *)
 
void setName (const uiString &uistr)
 
void setParent (DataObjectGroup *g)
 
void setPickable (bool actively, bool passively=true)
 
void setUiName (const uiString &)
 
virtual bool turnOn (bool yn)
 
uiString uiName () const
 
void updateSel () const
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
virtual bool isCapsule () const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
void stopReceivingNotifications () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
bool getNameFromPar (const IOPar &)
 
NamedObject & operator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 

Static Public Member Functions

static float cDefaultScreenSize ()
 
static MarkerSet * create ()
 
static const char * getStaticClassName ()
 
static void initClass ()
 
static const char * sFactoryKeyword ()
 
- Static Public Member Functions inherited from visBase::VisualObjectImpl
static const char * sKeyIsOn ()
 
static const char * sKeyMaterial ()
 
static const char * sKeyMaterialID ()
 
- Static Public Member Functions inherited from visBase::DataObject
static osgViewer::CompositeViewer * getCommonViewer ()
 
static float getDefaultPixelDensity ()
 
static int getID (const osg::Node *)
 
static bool isVisualizationThread ()
 
static void requestSingleRedraw ()
 
static void setCommonViewer (osgViewer::CompositeViewer *)
 
static void setDefaultPixelDensity (float)
 
static void setVisualizationThread (const void *)
 Call only once from initialization. More...
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Protected Member Functions

 ~MarkerSet ()
 
void materialChangeCB (CallBacker *)
 
- Protected Member Functions inherited from visBase::VisualObjectImpl
 VisualObjectImpl (bool selectable)
 
virtual ~VisualObjectImpl ()
 
int addChild (osg::Node *)
 
int childIndex (const osg::Node *) const
 
void insertChild (int pos, osg::Node *)
 
void removeChild (osg::Node *)
 
void setGroupNode (DataObject *)
 
virtual void setGroupNode (osg::Group *)
 Must be called during construction. More...
 
- Protected Member Functions inherited from visBase::VisualObject
 VisualObject (bool selectable=false)
 
 ~VisualObject ()
 
void triggerDeSel ()
 
void triggerRightClick (const EventInfo *)
 
void triggerSel ()
 
- Protected Member Functions inherited from visBase::DataObject
 DataObject ()
 
void doAddNodeState (NodeState *ns)
 
virtual osg::StateSet * getStateSet ()
 
template<class T >
T * setOsgNode (T *t)
 Must be called during construction. More...
 
void updateNodemask ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 

Protected Attributes

RefMan< Coordinates > coords_
 
ConstRefMan< visBase::Transformation > displaytrans_
 
osgGeo::MarkerSet * markerset_
 
MarkerStyle3D markerstyle_
 
RefMan< Normals > normals_
 
PolygonOffset * offset_
 
osg::Array * onoffarr_
 
float pixeldensity_
 
float rotationangle_
 
Coord3 rotationvec_
 
- Protected Attributes inherited from visBase::VisualObjectImpl
Material * material_
 
bool righthandsystem_
 
- Protected Attributes inherited from visBase::DataObject
DataObjectGroup * parent_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBacker > delnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Private Member Functions

 MarkerSet (const MarkerSet &)
 
MarkerSet & operator= (const MarkerSet &)
 

Static Private Member Functions

static visBase::DataObject * createInternal ()
 

Detailed Description

MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable.

<>

Member Enumeration Documentation

◆ AutoRotateMode

Enumerator
NO_ROTATION 
ROTATE_TO_SCREEN 
ROTATE_TO_CAMERA 
ROTATE_TO_AXIS 

Constructor & Destructor Documentation

◆ MarkerSet() [1/2]

visBase::MarkerSet::MarkerSet ( const MarkerSet &  )
private

◆ MarkerSet() [2/2]

visBase::MarkerSet::MarkerSet ( )

◆ ~MarkerSet()

visBase::MarkerSet::~MarkerSet ( )
protected

Member Function Documentation

◆ addPolygonOffsetNodeState()

void visBase::MarkerSet::addPolygonOffsetNodeState ( )

◆ addPos()

int visBase::MarkerSet::addPos ( const Coord3 &  ,
bool  draw = true 
)

◆ applyRotationToAllMarkers()

void visBase::MarkerSet::applyRotationToAllMarkers ( bool  )

◆ cDefaultScreenSize()

static float visBase::MarkerSet::cDefaultScreenSize ( )
inlinestatic

◆ clearMarkers()

void visBase::MarkerSet::clearMarkers ( )

Removes all markers.

◆ create()

static MarkerSet* visBase::MarkerSet::create ( )
inlinestatic

◆ createInternal()

static visBase::DataObject* visBase::MarkerSet::createInternal ( )
inlinestaticprivate

◆ doFaceCamera()

void visBase::MarkerSet::doFaceCamera ( bool  yn)

If true, the maker will always be rotated so the same part of the marker always faces the camera.

◆ facesCamera()

bool visBase::MarkerSet::facesCamera ( ) const

◆ findClosestMarker()

int visBase::MarkerSet::findClosestMarker ( const Coord3 &  ,
bool  scenespace = false 
)

◆ findMarker()

int visBase::MarkerSet::findMarker ( const Coord3 &  ,
const Coord3 &  eps,
bool  scenespace = false 
)

◆ forceRedraw()

void visBase::MarkerSet::forceRedraw ( bool  )

◆ getClassName()

virtual const char* visBase::MarkerSet::getClassName ( ) const
virtual

Reimplemented from visBase::DataObject.

◆ getColorArray()

void visBase::MarkerSet::getColorArray ( TypeSet< Color > &  colors) const

◆ getCoordinates() [1/2]

Coordinates* visBase::MarkerSet::getCoordinates ( )
inline

◆ getCoordinates() [2/2]

const Coordinates* visBase::MarkerSet::getCoordinates ( ) const
inline

◆ getDisplayTransformation()

const visBase::Transformation* visBase::MarkerSet::getDisplayTransformation ( ) const
virtual

All positions going from the outside world to the vis should be transformed with this transform. This enables us to have different coord-systems outside OI, e.g. we can use UTM coords outside the vis without loosing precision in the vis.

Reimplemented from visBase::DataObject.

◆ getMarkerHeightRatio()

float visBase::MarkerSet::getMarkerHeightRatio ( ) const

◆ getMarkersSingleColor()

Color visBase::MarkerSet::getMarkersSingleColor ( ) const

◆ getMarkerStyle() [1/2]

MarkerStyle3D& visBase::MarkerSet::getMarkerStyle ( )
inline

◆ getMarkerStyle() [2/2]

const MarkerStyle3D& visBase::MarkerSet::getMarkerStyle ( ) const
inline

◆ getMaximumScale()

float visBase::MarkerSet::getMaximumScale ( ) const

◆ getMinimumScale()

float visBase::MarkerSet::getMinimumScale ( ) const

◆ getNormals()

Normals* visBase::MarkerSet::getNormals ( )

◆ getPixelDensity()

float visBase::MarkerSet::getPixelDensity ( ) const
inlinevirtual

Reimplemented from visBase::DataObject.

◆ getScreenSize()

float visBase::MarkerSet::getScreenSize ( ) const

◆ getStaticClassName()

static const char* visBase::MarkerSet::getStaticClassName ( )
static

◆ getType()

MarkerStyle3D::Type visBase::MarkerSet::getType ( ) const

◆ initClass()

static void visBase::MarkerSet::initClass ( )
static

◆ insertPos()

void visBase::MarkerSet::insertPos ( int  ,
const Coord3 &  ,
bool  draw = true 
)

◆ markerOn()

bool visBase::MarkerSet::markerOn ( unsigned int  )

◆ materialChangeCB()

void visBase::MarkerSet::materialChangeCB ( CallBacker *  )
protectedvirtual

Reimplemented from visBase::VisualObjectImpl.

◆ operator=()

MarkerSet& visBase::MarkerSet::operator= ( const MarkerSet &  )
private

◆ removeMarker()

void visBase::MarkerSet::removeMarker ( int  idx)

◆ removePolygonOffsetNodeState()

void visBase::MarkerSet::removePolygonOffsetNodeState ( )

◆ setAutoRotateMode()

void visBase::MarkerSet::setAutoRotateMode ( AutoRotateMode  )

◆ setDisplayTransformation()

void visBase::MarkerSet::setDisplayTransformation ( const visBase::Transformation *  )
virtual

All positions going from the outside world to the vis should be transformed with this transform. This enables us to have different coord-systems outside OI, e.g. we can use UTM coords outside the vis without loosing precision in the vis.

Reimplemented from visBase::DataObject.

◆ setMarkerHeightRatio()

void visBase::MarkerSet::setMarkerHeightRatio ( float  )

◆ setMarkerResolution()

void visBase::MarkerSet::setMarkerResolution ( float  res)

The res value is between 0 and 1. It indicates the quality of marker visualization.

◆ setMarkersSingleColor()

void visBase::MarkerSet::setMarkersSingleColor ( const Color &  singlecolor)

all markers will use the same color, the color can also be set by markerstyle

◆ setMarkerStyle()

void visBase::MarkerSet::setMarkerStyle ( const MarkerStyle3D &  )

Sets predefined shape and size. Will only use color of markerstyle if no material is set.

◆ setMaterial()

void visBase::MarkerSet::setMaterial ( visBase::Material *  )
virtual

If material is null, markers will be single color.

Implements visBase::VisualObject.

◆ setMaximumScale()

void visBase::MarkerSet::setMaximumScale ( float  )

◆ setMinimumScale()

void visBase::MarkerSet::setMinimumScale ( float  )

◆ setPixelDensity()

void visBase::MarkerSet::setPixelDensity ( float  )
virtual

Reimplemented from visBase::DataObject.

◆ setPos()

void visBase::MarkerSet::setPos ( int  ,
const Coord3 &  ,
bool  draw = true 
)

◆ setRotationForAllMarkers()

void visBase::MarkerSet::setRotationForAllMarkers ( const Coord3 &  ,
const float   
)

◆ setScreenSize()

void visBase::MarkerSet::setScreenSize ( float  )

If a nonzero value is given, the object will try to have the same size (in pixels) on the screen at all times.

◆ setSingleMarkerRotation()

void visBase::MarkerSet::setSingleMarkerRotation ( const Quaternion &  ,
int   
)

◆ setType()

void visBase::MarkerSet::setType ( MarkerStyle3D::Type  )

Sets predefined shape.

◆ sFactoryKeyword()

static const char* visBase::MarkerSet::sFactoryKeyword ( )
static

◆ size()

int visBase::MarkerSet::size ( ) const

◆ turnAllMarkersOn()

void visBase::MarkerSet::turnAllMarkersOn ( bool  )

◆ turnMarkerOn()

void visBase::MarkerSet::turnMarkerOn ( unsigned int  idx,
bool   
)

◆ usesSingleColor()

bool visBase::MarkerSet::usesSingleColor ( ) const

Member Data Documentation

◆ coords_

RefMan<Coordinates> visBase::MarkerSet::coords_
protected

◆ displaytrans_

ConstRefMan< visBase::Transformation > visBase::MarkerSet::displaytrans_
protected

◆ markerset_

osgGeo::MarkerSet* visBase::MarkerSet::markerset_
protected

◆ markerstyle_

MarkerStyle3D visBase::MarkerSet::markerstyle_
protected

◆ normals_

RefMan<Normals> visBase::MarkerSet::normals_
protected

◆ offset_

PolygonOffset* visBase::MarkerSet::offset_
protected

◆ onoffarr_

osg::Array* visBase::MarkerSet::onoffarr_
protected

◆ pixeldensity_

float visBase::MarkerSet::pixeldensity_
protected

◆ rotationangle_

float visBase::MarkerSet::rotationangle_
protected

◆ rotationvec_

Coord3 visBase::MarkerSet::rotationvec_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022