HighlightControl

class HighlightControl : public HPS::Control

The HPS::HighlightControl class is a smart pointer that is tied to a database object. It is used to control highlight and unhighlight operations on selection results, search results, key paths and keys. This table lists default * values for the various segment attributes accessible from HPS::HighlightControl.

Public Functions

HighlightControl &Highlight(Key const &in_item, HighlightOptionsKit const &in_options, bool in_remove_existing = true)

Highlight the specified key using the specified highlight options.

Parameters:
  • in_item – The key to highlight. If the key is invalid, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(Key const &in_item, HighlightOptionsKit const &in_options, size_t in_vertices_count, size_t const in_vertices[], size_t in_edges_count, size_t const in_edges1[], size_t const in_edges2[], size_t in_faces_count, size_t const in_faces[], bool in_remove_existing = true)

Highlight subentities from the specified item using the specified highlight options.

Parameters:
  • in_item – The key to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The options to use when performing the highlight.
  • in_vertices_count – The number of elements to read from the in_vertices array.
  • in_vertices – An array of vertex indices, specifying vertices to highlight.
  • in_edges_count – The number of elements to read from the in_edges1/in_edges2 arrays.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces_count – The number of elements to read from the in_faces array.
  • in_faces – An array of faces indices specifying faces to highlight.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(Key const &in_item, HighlightOptionsKit const &in_options, SizeTArray const &in_vertices, SizeTArray const &in_edges1, SizeTArray const &in_edges2, SizeTArray const &in_faces, bool in_remove_existing = true)

Highlight the specified key using the specified highlight options.

Parameters:
  • in_item – The key to highlight. If the key is invalid, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_vertices – An array of vertex indices, specifying vertices to highlight.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces – An array of faces indices specifying faces to highlight.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(KeyPath const &in_item, HighlightOptionsKit const &in_options, bool in_remove_existing = true)

Highlight the specified key path using the specified highlight options.

Parameters:
  • in_item – The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(KeyPath const &in_item, HighlightOptionsKit const &in_options, size_t in_vertices_count, size_t const in_vertices[], size_t in_edges_count, size_t const in_edges1[], size_t const in_edges2[], size_t in_faces_count, size_t const in_faces[], bool in_remove_existing = true)

Highlight subentities from the specified item using the specified highlight options.

Parameters:
  • in_item – The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The options to use when performing the highlight.
  • in_vertices_count – The number of elements to read from the in_vertices array.
  • in_vertices – An array of vertex indices, specifying vertices to highlight.
  • in_edges_count – The number of elements to read from the in_edges1/in_edges2 arrays.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces_count – The number of elements to read from the in_faces array.
  • in_faces – An array of faces indices specifying faces to highlight.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(KeyPath const &in_item, HighlightOptionsKit const &in_options, SizeTArray const &in_vertices, SizeTArray const &in_edges1, SizeTArray const &in_edges2, SizeTArray const &in_faces, bool in_remove_existing = true)

Highlight specified subentities for the specified key path using the specified highlight options.

Parameters:
  • in_item – The key path to highlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_vertices – An array of vertex indices, specfying vertices to highlight.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to highlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces – An array of faces indices specifying faces to highlight.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(SearchResults const &in_items, HighlightOptionsKit const &in_options, bool in_remove_existing = true)

Highlight the specified search results using the specified highlight options.

Parameters:
  • in_items – The search results to highlight. If there are invalid keys in the selection results, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(SelectionItem const &in_item, HighlightOptionsKit const &in_options, bool in_remove_existing = true)

Highlight the specified selection item using the specified highlight options.

Parameters:
  • in_item – The selection item to highlight. If the selection item is invalid, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl &Highlight(SelectionResults const &in_items, HighlightOptionsKit const &in_options, bool in_remove_existing = true)

Highlight the specified selection results using the specified highlight options.

Parameters:
  • in_items – The selection results to highlight. If there are invalid selection items in the selection results, an exception will be thrown.
  • in_options – The options to use when performing the highlight. If there is no highlight style specified, an exception will be thrown.
  • in_remove_existing – Indicates whether this highlight should flush existing highlights at the specified path for the desired overlay type.
Returns:

A reference to this HighlightControl.

HighlightControl(HighlightControl &&in_that)

The move constructor creates a HighlightControl by transferring the underlying impl of the rvalue reference to this HighlightControl thereby avoiding a copy and allocation.

Parameters:in_that – An rvalue reference to a HighlightControl to take the impl from.
HighlightControl(HighlightControl const &in_that)

The copy constructor creates a HighlightControl object that shares the underlying smart-pointer of the source HighlightControl.

Parameters:in_that – The source HighlightControl to copy.
explicit HighlightControl(WindowKey const &in_window)

This constructor creates a HighlightControl object which is tied to the specified window.

Parameters:in_window – The window which this HighlightControl should operate on.
inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns:The declared type of the object in question, which may differ from the true, underlying type.
HighlightControl &operator=(HighlightControl &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this HighlightControl thereby avoiding a copy.

Parameters:in_that – An rvalue reference to a HighlightControl to take the impl from.
Returns:A reference to this HighlightControl.
HighlightControl &operator=(HighlightControl const &in_that)

Share the underlying smart-pointer of the HighlightControl source.

Parameters:in_that – The HighlightControl source of the assignment.
Returns:A reference to this HighlightControl.
void ShowHighlightState(Key const &in_key, HighlightSearchOptionsKit const &in_search_options, HighlightState &out_state) const

Show the highlight information for the given key and search options.

Parameters:
  • in_keyKey to get highlight information for.
  • in_search_optionsSearch options constraining what type of highlights to look for. If this is empty, all highlights will be considered.
  • out_state – Highlight information for the queried key.
void ShowHighlightState(KeyPath const &in_key_path, HighlightSearchOptionsKit const &in_search_options, HighlightState &out_state) const

Show the highlight information for the given key path and search options.

Parameters:
  • in_key_pathKey path to get highlight information for.
  • in_search_optionsSearch options constraining what type of highlights to look for. If this is empty, all highlights will be considered.
  • out_state – Highlight information for the queried key path.
void ShowHighlightStates(KeyArray const &in_keys, HighlightSearchOptionsKit const &in_search_options, HighlightStateArray &out_states) const

Show the highlight information for the given keys and search options.

Parameters:
  • in_keys – Keys to get highlight information for.
  • in_search_optionsSearch options constraining what type of highlights to look for. If this is empty, all highlights will be considered.
  • out_states – Highlight information for the queried keys.
void ShowHighlightStates(KeyPathArray const &in_key_paths, HighlightSearchOptionsKit const &in_search_options, HighlightStateArray &out_states) const

Show the highlight information for the given key paths and search options.

Parameters:
  • in_key_pathsKey paths to get highlight information for.
  • in_search_optionsSearch options constraining what type of highlights to look for. If this is empty, all highlights will be considered.
  • out_states – Highlight information for the queried key paths.
HighlightControl &Unhighlight(HighlightOptionsKit const &in_options)

Unhighlight geometry which was highlighted with the specified HighlightOptionsKit.

Parameters:in_options – The highlight options to be removed.
Returns:A reference to this HighlightControl.
HighlightControl &Unhighlight(Key const &in_item, HighlightOptionsKit const &in_options, size_t in_vertices_count, size_t const in_vertices[], size_t in_edges_count, size_t const in_edges1[], size_t const in_edges2[], size_t in_faces_count, size_t const in_faces[])

Unhighlight subentities from the specified item by removing the specified highlight options.

Parameters:
  • in_item – The key to unhighlight. If the key is invalid, an exception will be thrown..
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
  • in_vertices_count – The number of elements to read from the in_vertices array.
  • in_vertices – An array of vertex indices, specifying vertices to unhighlight.
  • in_edges_count – The number of elements to read from the in_edges1/in_edges2 arrays.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces_count – The number of elements to read from the in_faces array.
  • in_faces – An array of faces indices specifying faces to unhighlight.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(Key const &in_item, HighlightOptionsKit const &in_options, SizeTArray const &in_vertices, SizeTArray const &in_edges1, SizeTArray const &in_edges2, SizeTArray const &in_faces)

Unhighlight subentities from the specified item by removing the specified highlight options.

Parameters:
  • in_item – The key to unhighlight. If the key is invalid, an exception will be thrown..
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
  • in_vertices – An array of vertex indices, specifying vertices to unhighlight.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces – An array of faces indices specifying faces to unhighlight.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(Key const &in_item, HighlightOptionsKit const &in_options = HighlightOptionsKit())

Unhighlight the specified key by removing the specified highlight options.

Parameters:
  • in_item – The key to unhighlight. If the key is invalid, an exception will be thrown..
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(KeyPath const &in_item, HighlightOptionsKit const &in_options, size_t in_vertices_count, size_t const in_vertices[], size_t in_edges_count, size_t const in_edges1[], size_t const in_edges2[], size_t in_faces_count, size_t const in_faces[])

Unhighlight subentities from the specified item by removing the specified highlight options.

Parameters:
  • in_item – The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
  • in_vertices_count – The number of elements to read from the in_vertices array.
  • in_vertices – An array of vertex indices, specifying vertices to unhighlight.
  • in_edges_count – The number of elements to read from the in_edges1/in_edges2 arrays.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces_count – The number of elements to read from the in_faces array.
  • in_faces – An array of faces indices specifying faces to unhighlight.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(KeyPath const &in_item, HighlightOptionsKit const &in_options, SizeTArray const &in_vertices, SizeTArray const &in_edges1, SizeTArray const &in_edges2, SizeTArray const &in_faces)

Unhighlight subentities from the specified key path by removing the specified highlight options.

Parameters:
  • in_item – The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
  • in_vertices – An array of vertex indices, specifying vertices to unhighlight.
  • in_edges1 – An array of vertex indices, which when paired with the corresponding entries in the in_edges2 array, define a list of edges to unhighlight.
  • in_edges2 – An array of vertex indices to be paired with entries in in_edges1 array to define the edge list.
  • in_faces – An array of faces indices specifying faces to unhighlight.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(KeyPath const &in_item, HighlightOptionsKit const &in_options = HighlightOptionsKit())

Unhighlight the specified key path by removing the specified highlight options.

Parameters:
  • in_item – The key path to unhighlight. If there are no keys or invalid keys in the key path, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(SearchResults const &in_items, HighlightOptionsKit const &in_options = HighlightOptionsKit())

Unhighlight the specified search results by removing the specified highlight options.

Parameters:
  • in_items – The search results to unhighlight. If there are invalid keys in the search results, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(SelectionItem const &in_item, HighlightOptionsKit const &in_options = HighlightOptionsKit())

Unhighlight the specified selection item by removing the specified highlight options.

Parameters:
  • in_item – The selection item to unhighlight. If the selection item is invalid, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
Returns:

A reference to this HighlightControl.

HighlightControl &Unhighlight(SelectionResults const &in_items, HighlightOptionsKit const &in_options = HighlightOptionsKit())

Unhighlight the specified selection results by removing the specified highlight options.

Parameters:
  • in_items – The selection results to unhighlight. If there are invalid selection items in the selection results, an exception will be thrown.
  • in_options – The highlight options to be removed. Defaults to an empty HighlightOptionsKit.
Returns:

A reference to this HighlightControl.

HighlightControl &UnhighlightEverything()

Unhighlight everything in the window associated with this HighlightControl.

Returns:A reference to this HighlightControl.
~HighlightControl()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::HighlightControl