CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
OdGiSelectProc Class Referenceabstract

#include <GiSelectProc.h>

Inheritance diagram for OdGiSelectProc:
OdGiConveyorNode OdRxObject

Public Types

enum  { kCheckMarkerOnChange = 1 , kCheckMarkerOnViewModeChange = 2 , kCheckMarkerFinish = 0x80000000 }
 

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
 
virtual void check_n_fire_selected (OdUInt32 flags=0)=0
 
virtual void setDeviation (const OdGeDoubleArray &deviations)=0
 
virtual void setDeviation (const OdGiDeviation *pDeviation)=0
 
virtual void setDrawContext (OdGiConveyorContext *pDrawCtx)=0
 
virtual bool handleSelectionByExtents (const OdGeExtents3d &extWc)
 
- 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 ()
 

Additional Inherited Members

- 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 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 65 of file GiSelectProc.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kCheckMarkerOnChange 
kCheckMarkerOnViewModeChange 
kCheckMarkerFinish 

Definition at line 68 of file GiSelectProc.h.

Member Function Documentation

◆ check_n_fire_selected()

virtual void OdGiSelectProc::check_n_fire_selected ( OdUInt32  flags = 0)
pure virtual

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

◆ handleSelectionByExtents()

virtual bool OdGiSelectProc::handleSelectionByExtents ( const OdGeExtents3d extWc)
inlinevirtual

Checks that selection can be performed by checking extents without playing content.

Parameters
extWc[in] Data extents.
Returns
True if content should be selected without playing; otherwise returns false.

Definition at line 144 of file GiSelectProc.h.

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

◆ setDeviation() [1/2]

virtual void OdGiSelectProc::setDeviation ( const OdGeDoubleArray deviations)
pure virtual

Sets max deviation for curve tessellation.

Parameters
deviations[in] Array with deviation values.

◆ setDeviation() [2/2]

virtual void OdGiSelectProc::setDeviation ( const OdGiDeviation pDeviation)
pure virtual

Sets deviation object to obtain max deviation for curve tessellation.

Parameters
pDeviation[in] Pointer to the deviation object.

◆ setDrawContext()

virtual void OdGiSelectProc::setDrawContext ( OdGiConveyorContext pDrawCtx)
pure virtual

Sets the draw context object (to access to traits, etc).

Parameters
pDrawCtx[in] Pointer to the draw context.

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