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
 
CoordinatesgetCoordinates ()
 
const CoordinatesgetCoordinates () const
 
const visBase::TransformationgetDisplayTransformation () const
 
float getMarkerHeightRatio () const
 
Color getMarkersSingleColor () const
 
MarkerStyle3DgetMarkerStyle ()
 
const MarkerStyle3DgetMarkerStyle () const
 
float getMaximumScale () const
 
float getMinimumScale () const
 
NormalsgetNormals ()
 
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
 
MaterialgetMaterial ()
 
const MaterialgetMaterial () 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
NotifierAccessdeSelection ()
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
virtual NotifierAccessrightClicked ()
 
const EventInforightClickedEventInfo () const
 
const TypeSet< int > * rightClickedPath () const
 
bool selectable () const
 
NotifierAccessselection ()
 
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
 
NodeStategetNodeState (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::Stringname () const
 
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 (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 &)
 
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
 

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