HSelectionSetOOC

Functions

HSelectionSetOOC *

CreateInstance

bool

CanCreateInstance

void

Reset

bool

DeleteSelection

void

SetDeepSelection

ooc::query::QueryIterator

SelectedPoints

bool

UpdateSelection

void

AddRectangleWindow

void

AddTriangleWindow

bool

HasWindows

typename Func

SynchronizeWith

Detailed Description

template<typename SelectionSet>
class HSelectionSetOOC : public SelectionSet, private HSelectionSetHelperBaseOOC, private HTClient

The HOpSelectionSetOOC class is the class that should be used when using the HOpSelectAreaOOC and HOpSelectPolygonOOC selection operators for selecting OOC points. Only one instance of HOpSelectionSetOOC can be alive at any given time.

Param SelectionSet

The underlying selection set type to use.

Public Functions

inline virtual void Reset()

Resets the HSelectionSetOOC object. This will deselect any points selected by this object.

inline virtual bool DeleteSelection(bool emit_message = false)

Deletes all points selected by this object. This function works by doing the following:

  • Obtaining an iterator to the selected OOC points.

  • Iterating these points to associate each with a collection of points per ooc::NodeHandle.

  • Calling ooc::delta::DeleteSpecificPoints for each ooc::NodeHandle points pairing. Notably, this function only deletes the points in memory. This change will not be saved to disk unless one calls ooc::io::CommitDeltasToFile.

Parameters

emit_message – Controls whether or not the HBaseView associated with this object is notified about the deletion.

inline void SetDeepSelection(bool deep_select)

Sets whether or not the selection set will select points that are not currently loaded into memory.

Parameters

deep_select – Enables deep selection if true. Disables deep selection if false.

inline ooc::query::QueryIterator SelectedPoints()
Returns

Returns a QueryIterator to the points selected by this selection set.

inline bool UpdateSelection()

Updates the highlighting of the selection points. This may be needed if points are loaded into memory or points are unloaded from memory. This will not force an HBaseView::Update. That is, this function will not update the visual presentation of the model. A separate update is needed for that. This function will be automatically called in this object’s Tick function, which executes periodically. The Tick function will call HBaseView::Update if this function returns true. This allows newly loaded points to be automatically highlighted without programmer interaction.

Returns

Returns true if any new points have been highlighted or if any points have been unhighlighted.

inline void AddRectangleWindow(ooc::Point const &min, ooc::Point const &max)

Adds a rectangular window to select points from in window space coordinates. This should only be called within an HSelectionSetOOC::SynchronizeWith callback.

Parameters
  • min – The minimum point of the rectangle.

  • max – The maximum point of the rectangle.

inline void AddTriangleWindow(ooc::Point const &p1, ooc::Point const &p2, ooc::Point const &p3)

Adds a triangular window to select points from in window space coordinates. This should only be called within an HSelectionSetOOC::SynchronizeWith callback.

Parameters
  • p1 – The first point of the triangle.

  • p2 – The second point of the triangle.

  • p3 – The third point of the triangle.

inline bool HasWindows()
template<typename Func>
inline auto SynchronizeWith(Func const &task) -> decltype(task())

Creates a synchronization point to add rectangular or triangular windows to the selection set. (See AddRectangleWindow and AddTriangleWindow functions.)

Parameters

task – The callback to be called when the HSelectionSetOOC object is in a synchronized state.

Public Static Functions

static inline HSelectionSetOOC *CreateInstance(HBaseView &view, bool deep_select)

Creates a new HSelectionSetOOC instance if one does not already exist. Returns a null pointer otherwise.

Parameters
  • view – A reference to an HBaseView object.

  • deep_select – Controls whether or not OOC points that are not loaded in memory get selected with this selection set. (See SetDeepSelection.)

Returns

A pointer to the created HSelectionSetOOC.

static inline bool CanCreateInstance()
Returns

A boolean that denotes whether or not an HSelectionSetOOC object can be created by a call to CreateInstance.