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::PolygonSelection Class Reference
Inheritance diagram for visBase::PolygonSelection:
[legend]

Public Types

enum  SelectionType { Off , Rectangle , Polygon }
 
- Public Types inherited from ObjectWithName
typedef OD::String name_type
 

Public Member Functions

 PolygonSelection ()
 
void clear ()
 
PolygonSelection * copy () const
 
virtual const char * getClassName () const
 
const OD::LineStyle & getLineStyle () const
 
SelectionType getSelectionType () const
 
bool hasPolygon () const
 
char includesRange (const Coord3 &start, const Coord3 &stop, bool displayspace) const
 
bool isInside (const Coord3 &, bool displayspace=false) const
 
bool isSelfIntersecting () const
 
bool rayPickThrough (const Coord3 &worldpos, TypeSet< int > &pickedobjids, int depthidx=0) const
 
void setHUDCamera (Camera *)
 
void setLineStyle (const OD::LineStyle &)
 
void setMasterCamera (Camera *)
 
void setPrimaryCamera (Camera *)
 
void setSelectionType (SelectionType)
 
void setUTMCoordinateTransform (const visBase::Transformation *)
 
bool singleSelection () 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
 
virtual const visBase::Transformation * getDisplayTransformation () const
 
SoNode * getInventorNode ()
 
const SoNode * getInventorNode () const
 
virtual BufferString getName () const
 
NodeState * getNodeState (int idx)
 
virtual float getPixelDensity () const
 
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)
 
virtual void setDisplayTransformation (const visBase::Transformation *)
 
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)
 
virtual void setPixelDensity (float dpi)
 
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 PolygonSelection * create ()
 
static const char * getStaticClassName ()
 
static void initClass ()
 
static Notifier< PolygonSelection > * polygonFinished ()
 
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

 PolygonSelection (const osgGeo::PolygonSelection *)
 
 ~PolygonSelection ()
 
void polygonChangeCB (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 *)
 
virtual void materialChangeCB (CallBacker *)
 
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

DrawStyle * drawstyle_
 
Camera * mastercamera_
 
ODPolygon< double > * polygon_
 
Threads::ReadWriteLock polygonlock_
 
osgGeo::PolygonSelection * selector_
 
SelectionCallBack * selectorcb_
 
const visBase::Transformation * utm2disptransform_
 
- 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

 PolygonSelection (const PolygonSelection &)
 
PolygonSelection & operator= (const PolygonSelection &)
 

Static Private Member Functions

static visBase::DataObject * createInternal ()
 

Detailed Description

Paints a polygon or a rectangle just in front of near-clipping plane driven by mouse- movement. Once drawn, queries can be made whether points are inside or outside the polygon.

<>

Member Enumeration Documentation

◆ SelectionType

Enumerator
Off 
Rectangle 
Polygon 

Constructor & Destructor Documentation

◆ PolygonSelection() [1/3]

visBase::PolygonSelection::PolygonSelection ( const PolygonSelection &  )
private

◆ PolygonSelection() [2/3]

visBase::PolygonSelection::PolygonSelection ( )

◆ PolygonSelection() [3/3]

visBase::PolygonSelection::PolygonSelection ( const osgGeo::PolygonSelection *  )
protected

◆ ~PolygonSelection()

visBase::PolygonSelection::~PolygonSelection ( )
protected

Member Function Documentation

◆ clear()

void visBase::PolygonSelection::clear ( )

◆ copy()

PolygonSelection* visBase::PolygonSelection::copy ( ) const

◆ create()

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

◆ createInternal()

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

◆ getClassName()

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

Reimplemented from visBase::DataObject.

◆ getLineStyle()

const OD::LineStyle& visBase::PolygonSelection::getLineStyle ( ) const

◆ getSelectionType()

SelectionType visBase::PolygonSelection::getSelectionType ( ) const

◆ getStaticClassName()

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

◆ hasPolygon()

bool visBase::PolygonSelection::hasPolygon ( ) const

◆ includesRange()

char visBase::PolygonSelection::includesRange ( const Coord3 &  start,
const Coord3 &  stop,
bool  displayspace 
) const

0: projected box fully outside polygon 1: projected box partially outside polygon 2: projected box fully inside polygon 3: all box points behind projection plane 4: some box points behind projection plane

◆ initClass()

static void visBase::PolygonSelection::initClass ( )
static

◆ isInside()

bool visBase::PolygonSelection::isInside ( const Coord3 &  ,
bool  displayspace = false 
) const

◆ isSelfIntersecting()

bool visBase::PolygonSelection::isSelfIntersecting ( ) const

◆ operator=()

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

◆ polygonChangeCB()

void visBase::PolygonSelection::polygonChangeCB ( CallBacker *  )
protected

◆ polygonFinished()

static Notifier<PolygonSelection>* visBase::PolygonSelection::polygonFinished ( )
static

◆ rayPickThrough()

bool visBase::PolygonSelection::rayPickThrough ( const Coord3 &  worldpos,
TypeSet< int > &  pickedobjids,
int  depthidx = 0 
) const

◆ setHUDCamera()

void visBase::PolygonSelection::setHUDCamera ( Camera *  )

◆ setLineStyle()

void visBase::PolygonSelection::setLineStyle ( const OD::LineStyle &  )

◆ setMasterCamera()

void visBase::PolygonSelection::setMasterCamera ( Camera *  )

◆ setPrimaryCamera()

void visBase::PolygonSelection::setPrimaryCamera ( Camera *  )

◆ setSelectionType()

void visBase::PolygonSelection::setSelectionType ( SelectionType  )

◆ setUTMCoordinateTransform()

void visBase::PolygonSelection::setUTMCoordinateTransform ( const visBase::Transformation *  )

This is a special function to set transform for computing real-world coordinates from screen coordinates.

◆ sFactoryKeyword()

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

◆ singleSelection()

bool visBase::PolygonSelection::singleSelection ( ) const

Member Data Documentation

◆ drawstyle_

DrawStyle* visBase::PolygonSelection::drawstyle_
protected

◆ mastercamera_

Camera* visBase::PolygonSelection::mastercamera_
protected

◆ polygon_

ODPolygon<double>* visBase::PolygonSelection::polygon_
mutableprotected

◆ polygonlock_

Threads::ReadWriteLock visBase::PolygonSelection::polygonlock_
mutableprotected

◆ selector_

osgGeo::PolygonSelection* visBase::PolygonSelection::selector_
protected

◆ selectorcb_

SelectionCallBack* visBase::PolygonSelection::selectorcb_
protected

◆ utm2disptransform_

const visBase::Transformation* visBase::PolygonSelection::utm2disptransform_
protected

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