OpendTect  7.0
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 override
 
void getColorArray (TypeSet< OD::Color > &colors) const
 
CoordinatesgetCoordinates ()
 
const CoordinatesgetCoordinates () const
 
const visBase::TransformationgetDisplayTransformation () const override
 
float getMarkerHeightRatio () const
 
OD::Color getMarkersSingleColor () const
 
MarkerStyle3DgetMarkerStyle ()
 
const MarkerStyle3DgetMarkerStyle () const
 
float getMaximumScale () const
 
float getMinimumScale () const
 
NormalsgetNormals ()
 
float getPixelDensity () const override
 
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 *) override
 
void setMarkerHeightRatio (float)
 
void setMarkerResolution (float res)
 
void setMarkersSingleColor (const OD::Color &singlecolor)
 
void setMarkerStyle (const MarkerStyle3D &)
 
void setMaterial (visBase::Material *) override
 If material is null, markers will be single color. More...
 
void setMaximumScale (float)
 
void setMinimumScale (float)
 
void setPixelDensity (float) override
 
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
 
const MaterialgetMaterial () const
 
MaterialgetMaterial () override
 
bool isRightHandSystem () const override
 
NotifierAccessmaterialChange ()
 
void readLock ()
 
void readUnLock ()
 
void setLockable ()
 
void setMaterial (Material *) override
 
void setRightHandSystem (bool yn) override
 
bool tryReadLock ()
 
bool tryWriteLock ()
 
virtual bool usePar (const IOPar &)
 
void writeLock ()
 
void writeUnLock ()
 
- Public Member Functions inherited from visBase::VisualObject
NotifierAccessdeSelection () override
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
NotifierAccessrightClicked () override
 
const EventInforightClickedEventInfo () const
 
const TypeSet< VisID > * rightClickedPath () const override
 
bool selectable () const override
 
NotifierAccessselection () override
 
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
 
BufferString getName () const override
 
NodeStategetNodeState (int idx)
 
VisID 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
 
const OD::Stringname () const override
 
osg::Node * osgNode (bool skipswitch=false)
 
const osg::Node * osgNode (bool skipswitch=false) const
 
NodeStateremoveNodeState (NodeState *)
 
virtual bool rightClickable () const
 
void select () const
 
bool serialize (const char *filename, bool binary=false)
 
void setID (VisID newid)
 
void setName (const char *) override
 
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 SharedObject
 SharedObject (const char *nm=nullptr)
 
 SharedObject (const SharedObject &)
 
- 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
 
virtual CallBackertrueCaller ()
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
bool getNameFromPar (const IOPar &)
 
NamedObjectoperator= (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
 
- Public Member Functions inherited from RefCount::Referenced
void addObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
int nrRefs () const
 Only for expert use. More...
 
void ref () const
 
bool refIfReffed () const
 Don't use in production, for debugging. More...
 
void removeObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
bool tryRef () const
 Not for normal use. May become private. More...
 
void unRef () const
 
void unRefNoDelete () const
 

Static Public Member Functions

static float cDefaultScreenSize ()
 
static MarkerSetcreate ()
 
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 VisID 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 SharedObject
static Notifier< SharedObject > & instanceCreated ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- Static Public Member Functions inherited from RefCount::Referenced
static bool isSane (const Referenced *)
 

Protected Member Functions

 ~MarkerSet ()
 
void materialChangeCB (CallBacker *) override
 
- 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 () override
 
void triggerRightClick (const EventInfo *) override
 
void triggerSel () override
 
- Protected Member Functions inherited from visBase::DataObject
 DataObject ()
 
virtual ~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 SharedObject
virtual ~SharedObject ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Member Functions inherited from RefCount::Referenced
 Referenced ()
 
 Referenced (const Referenced &)
 
virtual ~Referenced ()
 
Referencedoperator= (const Referenced &)
 

Protected Attributes

RefMan< Coordinatescoords_
 
ConstRefMan< visBase::Transformationdisplaytrans_
 
osgGeo::MarkerSet * markerset_
 
MarkerStyle3D markerstyle_
 
RefMan< Normalsnormals_
 
PolygonOffsetoffset_
 
osg::Array * onoffarr_
 
float pixeldensity_
 
float rotationangle_
 
Coord3 rotationvec_
 
- Protected Attributes inherited from visBase::VisualObjectImpl
Materialmaterial_
 
bool righthandsystem_
 
- Protected Attributes inherited from visBase::DataObject
DataObjectGroupparent_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Private Member Functions

 MarkerSet (const MarkerSet &)
 
MarkerSetoperator= (const MarkerSet &)
 

Static Private Member Functions

static visBase::DataObjectcreateInternal ()
 

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
overridevirtual

Reimplemented from visBase::DataObject.

◆ getColorArray()

void visBase::MarkerSet::getColorArray ( TypeSet< OD::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
overridevirtual

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()

OD::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
inlineoverridevirtual

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 )
overrideprotectedvirtual

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 )
overridevirtual

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 OD::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 )
overridevirtual

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  )
overridevirtual

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-2024