#include <HSelectionSetOOC.h>
Classes | |
struct | CallbackKeyInfo |
Public Member Functions | |
void | AddRectangleWindow (ooc::Point const &min, ooc::Point const &max) |
void | AddTriangleWindow (ooc::Point const &p1, ooc::Point const &p2, ooc::Point const &p3) |
virtual bool | DeleteSelection (bool emit_message=false) |
virtual void | Reset () |
ooc::query::QueryIterator | SelectedPoints () |
void | SetDeepSelection (bool deep_select) |
template<typename Func > | |
auto | SynchronizeWith (Func const &task)-> decltype(task()) |
bool | UpdateSelection () |
Static Public Member Functions | |
static bool | CanCreateInstance () |
static HSelectionSetOOC * | CreateInstance (HBaseView &view, bool deep_select) |
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.
SelectionSet | The underlying selection set type to use. |
void HSelectionSetOOC< SelectionSet >::AddRectangleWindow | ( | ooc::Point const & | min, |
ooc::Point const & | max | ||
) | [inline] |
Adds a rectangular window to select points from in window space coordinates. This should only be called within an HSelectionSetOOC::SynchronizeWith callback.
min | The minumum point of the rectangle. |
max | The maximum point of the rectangle. |
Referenced by HOpSelectAreaOOC< SelectionSet >::OnLButtonUp().
void HSelectionSetOOC< SelectionSet >::AddTriangleWindow | ( | ooc::Point const & | p1, |
ooc::Point const & | p2, | ||
ooc::Point const & | p3 | ||
) | [inline] |
Adds a triangular window to select points from in window space coordinates. This should only be called within an HSelectionSetOOC::SynchronizeWith callback.
p1 | The first point of the triangle. |
p2 | The second point of the triangle. |
p3 | The third point of the triangle. |
static bool HSelectionSetOOC< SelectionSet >::CanCreateInstance | ( | ) | [inline, static] |
static HSelectionSetOOC* HSelectionSetOOC< SelectionSet >::CreateInstance | ( | HBaseView & | view, |
bool | deep_select | ||
) | [inline, static] |
Creates a new HSelectionSetOOC instance if one does not already exist. Returns a null pointer otherwise.
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.) |
virtual bool HSelectionSetOOC< SelectionSet >::DeleteSelection | ( | bool | emit_message = false | ) | [inline, virtual] |
Deletes all points selected by this object. This function works by doing the following:
emit_message | Controls whether or not the HBaseView associated with this object is notified about the deletion. |
References HBaseView::GetModelKey(), HC_Close_Segment(), HC_Create_Segment_Key_By_Key(), HC_KEY, HC_Open_Segment_By_Key(), HC_QShow_Existence(), HSelectionSetOOC< SelectionSet >::Reset(), HSelectionSetOOC< SelectionSet >::SelectedPoints(), and HSelectionSetOOC< SelectionSet >::SynchronizeWith().
virtual void HSelectionSetOOC< SelectionSet >::Reset | ( | ) | [inline, virtual] |
Resets the HSelectionSetOOC object. This will deselect any points selected by this object.
Referenced by HSelectionSetOOC< SelectionSet >::DeleteSelection(), and HSelectionSetOOC< SelectionSet >::SetDeepSelection().
ooc::query::QueryIterator HSelectionSetOOC< SelectionSet >::SelectedPoints | ( | ) | [inline] |
References HBaseView::GetModelKey(), HC_Create_Segment_Key_By_Key(), and HC_KEY.
Referenced by HSelectionSetOOC< SelectionSet >::DeleteSelection().
void HSelectionSetOOC< SelectionSet >::SetDeepSelection | ( | bool | deep_select | ) | [inline] |
Sets whether or not the selection set will select points that are not currently loaded into memory.
deep_select | Enables deep selection if true. Disables deep selection if false. |
References HSelectionSetOOC< SelectionSet >::Reset().
auto HSelectionSetOOC< SelectionSet >::SynchronizeWith | ( | Func const & | task | ) | [inline] |
Creates a synchronization point to add rectangular or triangular windows to the selection set. (See AddRectangleWindow and AddTriangleWindow functions.)
task | The callback to be called when the HSelectionSetOOC object is in a synchronized state. |
Referenced by HSelectionSetOOC< SelectionSet >::DeleteSelection(), and HOpSelectAreaOOC< SelectionSet >::OnLButtonUp().
bool HSelectionSetOOC< SelectionSet >::UpdateSelection | ( | ) | [inline] |
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 seperate 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.
References HBaseView::GetIncludeLinkKey(), HBaseView::GetViewKey(), HC_Begin_Contents_Search(), HC_Close_Segment(), HC_End_Contents_Search(), HC_Find_Contents(), HC_KEY, HC_Open_Segment_By_Key(), HC_Show_Bounding_Cuboid(), HC_Show_Geometry_Pointer(), and HC_Show_Shell_Size().