CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdGiSelectProc Class Referenceabstract

#include <GiSelectProc.h>

Inheritance diagram for OdGiSelectProc:
OdGiSelectProcBase OdGiConveyorNode OdRxObject

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiSelectProc)
 
virtual void set (const OdGePoint2d *pPoints, OdUInt32 nPoints, OdGsView::SelectionMode mode, OdGsSelectionReactor *pReactor)=0
 
virtual void get (OdGePoint2dArray &points, OdGsView::SelectionMode &mode)=0
 
- Public Member Functions inherited from OdGiSelectProcBase
 ODRX_DECLARE_MEMBERS (OdGiSelectProcBase)
 
virtual void check_n_fire_selected (OdUInt32 flags=0)=0
 
virtual void switchSectioning (bool)
 
virtual bool handleSelectionByExtents (const OdGeExtents3d &extWc)
 
virtual OdUInt32 supportGeometryPrimitives () const
 
virtual void setDeviation (const OdGeDoubleArray &deviations)=0
 
virtual void setDeviation (const OdGiDeviation *pDeviation)=0
 
virtual void setDrawContext (OdGiConveyorContext *pDrawCtx)=0
 
- Public Member Functions inherited from OdGiConveyorNode
 ODRX_DECLARE_MEMBERS (OdGiConveyorNode)
 
virtual OdGiConveyorInputinput ()=0
 
virtual OdGiConveyorOutputoutput ()=0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static bool supportsSubentitySelection (const OdGiViewport *pView, OdGsView::SelectionMode mode, OdGsSelectionReactor *pReactor)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 
static void rxInit ()
 
static void rxUninit ()
 

Additional Inherited Members

- Public Types inherited from OdGiSelectProcBase
enum  { kCheckMarkerOnChange = 1 , kCheckMarkerOnViewModeChange = 2 , kCheckMarkerFinish = 0x80000000 }
 
enum  { kSupportPointsPrim = 1 , kSupportLinesPrim = 2 , kSupportTrianglesPrim = 4 , kSupportAllPrims = kSupportPointsPrim | kSupportLinesPrim | kSupportTrianglesPrim }
 
- Protected Member Functions inherited from OdGiConveyorNode
 OdGiConveyorNode ()
 

Detailed Description

This class implements conveyor nodes performing selections.

Remarks
Behavior of this node depends on the selection mode. If the mode is "fence", the points specify polyline vertices. If the mode is "crossing" or "window", the points specify polygon vertices. If exactly two points are specified, the polygon is rectangle, with the points opposite vertices.

For any input primitive, this node performs the following actions:

  1. It checks for primitive intersections with the polygon border.
  2. If intersections are found, the node MARKS current drawable, and stops to handle the primitive.
  3. If the mode is mode is "crossing", and the primitive is inside the polygon, the node MARKS the current drawable and stops to handle the primitive.
  4. If the mode is "window", and primitive is outside the polygon, the node MARKS the current drawable and stops to handle the primitive.

To MARK the current drawable is means to currentDrawableDesc()->markBySelection(true). If the drawable is neither a compound object nor uses nesting, means currentDrawableDesc()->markToSkip(true).

This conveyor node is used for implementation OdGsBaseVectorizeView::select() and does not produce any output.

<group OdGi_Classes>

Definition at line 61 of file GiSelectProc.h.

Member Function Documentation

◆ get()

virtual void OdGiSelectProc::get ( OdGePoint2dArray & points,
OdGsView::SelectionMode & mode )
pure virtual

Retrieves the boundary that forms selection area, selection mode.

Parameters
points[out] Array of points that form the selection area.
mode[out] Selection mode.

◆ ODRX_DECLARE_MEMBERS()

OdGiSelectProc::ODRX_DECLARE_MEMBERS ( OdGiSelectProc )

◆ set()

virtual void OdGiSelectProc::set ( const OdGePoint2d * pPoints,
OdUInt32 nPoints,
OdGsView::SelectionMode mode,
OdGsSelectionReactor * pReactor )
pure virtual

Sets the boundary that forms selection area, selection mode and reactor.

Parameters
pPoints[in] Pointer to an array of points that form selection area.
nPoints[in] Number of points in array.
mode[in] Selection mode.
pReactor[in] Pointer to the selection reactor.

◆ supportsSubentitySelection()

static bool OdGiSelectProc::supportsSubentitySelection ( const OdGiViewport * pView,
OdGsView::SelectionMode mode,
OdGsSelectionReactor * pReactor )
static

Checks whether selection reactor and selection mode support subentity selection.

Parameters
pView[in] Pointer to the graphic view.
mode[in] Selection mode. Currently not used.
pReactor[in] Pointer to the selection reactor.
Returns
True if subentity selection is supported for the selection reactor, false otherwise.

The documentation for this class was generated from the following file: