21 #ifndef _HSELECTIONSET_H
22 #define _HSELECTIONSET_H
110 virtual void UpdateTransparency(
bool force_flush=
false);
142 virtual void Select(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
157 virtual void Select(
HSelectionItem * new_sel,
bool emit_message =
false);
176 virtual void SelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message);
202 virtual void SelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
203 int count,
const int faces[]=0,
const int vertex1[]=0,
const int vertex2[]=0,
bool emit_message=
false);
218 virtual void Select(HC_KEY key,
const char* segpath, HC_KEY include_key, HC_KEY includer_key,
bool emit_message =
false);
235 virtual void DeSelect(HC_KEY key,
bool emit_message =
false);
254 virtual void DeSelect(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
266 virtual void DeSelect(
HSelectionItem * remove_sel,
bool emit_message =
false);
282 virtual void DeSelectRegion(
HShellObject const & oShell,
int region,
bool emit_messag);
303 virtual void DeSelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message =
false);
312 virtual void DeSelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
313 int count,
const int faces[],
const int vertex1[],
const int vertex2[],
bool emit_message =
false);
349 virtual void DeSelectAll();
361 virtual bool IsSelected(HC_KEY key)
const;
380 virtual bool IsSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[])
const;
413 virtual bool IsRegionSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[],
int region)
const;
420 virtual bool IsHighlightSegment(HC_KEY segment_key)
const;
432 virtual void SetGrayScale(
bool grayScale);
439 virtual void SetInvisible(
bool Invisible);
461 virtual HSelList * GetSelectionList();
551 virtual HC_KEY GetAt(
unsigned int index);
569 unsigned int GetSize()
const;
574 virtual void Reset();
582 virtual bool DeleteSelection(
bool emit_message=
false);
588 void SetHighlightStyle(HC_KEY key) { m_keyHighlightStyle = key; };
612 bool DeInstance(
unsigned int index);
627 virtual void SetSubwindowPenetration(
bool allow);
636 virtual void SetAllowSubentitySelection(
bool allow);
653 virtual void SetAllowEntitySelection(
bool allow);
662 virtual void SetAllowRegionSelection(
bool allow);
668 void RegisterHighlightSeg(HC_KEY seg_key);
674 void UnRegisterHighlightSeg(HC_KEY seg_key);
712 virtual void SetHighlightTransparency(
float trans);
725 void ToggleHighlightStyle();
731 virtual bool GetIsSelection(HC_KEY key);
754 virtual void SetReferenceSelectionType(
HRefSelType type);
760 virtual void UpdateHighlightStyle();
779 void FlushPShowCache();
784 void UpdateHighlighting();
786 HBaseView * GetView() {
return m_pView; }
857 void GetSelectionBounding(
HPoint * minimum,
HPoint * maximum)
const;
870 int GetAttrLookupID(
const char * attribute_string);
876 void HoopsRemove( HC_KEY key );
877 void DeselectSegment( HC_KEY key,
char const *keytype );
878 void DeselectGeometry( HC_KEY key );
883 inline bool is_selected(HC_KEY key)
const;
885 void ensure_is_segment(HC_KEY &key)
const;
889 struct vhash_s *m_pAttrLookupHash;
896 HSelHash * m_selected_hash;
897 float m_hash_last_updated;
898 float m_list_last_updated;
901 HC_KEY m_keyHighlightStyle;
905 bool m_subentity_face;
906 bool m_subentity_edge;
907 bool m_subentity_vertex;
908 bool m_subentity_maintain_maps;
910 bool m_bSubwindowPenetration;
912 bool m_currently_in_DeleteSelection;
virtual void SetSelectWillNotify(bool notify)
Definition: HSelectionSet.h:863
void SetPShowCache(HVHashPShowCache *new_cache)
Definition: HSelectionSet.h:774
virtual void SetSubentityFaceSelection(bool select)
Definition: HSelectionSet.h:806
float m_fselectedEdgeWeight
The line thickness used for selected edges.
Definition: HSelectionSet.h:89
The HShellObject class is a simple wrapper for a shell.
Definition: HUtility.h:204
virtual const HSelectionHighlightMode GetHighlightMode()
Definition: HSelectionSet.h:679
virtual void GetSelectionEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:480
HPixelRGBA m_selectedCutEdgeColor
The color used for selected cut edges.
Definition: HSelectionSet.h:85
virtual void SetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:426
Definition: HPShowCache.h:193
virtual void SetSelectionMarkerColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:511
bool m_bHighlightRegionEdges
This indicates whether edges in a region should be highlighted.
Definition: HSelectionSet.h:95
HVHashPShowCache * GetPShowCache()
Definition: HSelectionSet.h:767
virtual void SetSelectionMarkerSize(float size)
Definition: HSelectionSet.h:538
struct vhash_s * m_pHighlightSegsHash
The list of highlighted segment keys.
Definition: HSelectionSet.h:79
virtual bool GetSubwindowPenetration()
Definition: HSelectionSet.h:618
virtual bool GetSelectWillNotify() const
Definition: HSelectionSet.h:866
virtual void GetSelectionCutEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:493
virtual bool GetReferenceSelection() const
Definition: HSelectionSet.h:738
HRefSelType
Definition: HGlobals.h:584
HBaseView * m_pView
The HOOPS HBaseView associated with to this HSelectionSet.
Definition: HSelectionSet.h:77
select on a segment
Definition: HSelectionSet.h:40
virtual void SetSubentityVertexSelection(bool select)
Definition: HSelectionSet.h:826
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:516
The HSelectionSet class manages a list of selected items.
Definition: HSelectionSet.h:71
HSelectionHighlightMode
Definition: HGlobals.h:554
virtual bool GetAllowRegionSelection() const
Definition: HSelectionSet.h:656
virtual HRegionEdgeHighlightMode HighlightRegionEdgesAutoVisibility()
Definition: HSelectionSet.h:328
virtual HRegionFaceHighlightMode HighlightRegionFacesAutoVisibility()
Definition: HSelectionSet.h:340
HSelList * m_pSelItemsList
The list of selected HOOPS entities (HSelectionItem pointers).
Definition: HSelectionSet.h:78
HRegionEdgeHighlightMode
Definition: HGlobals.h:568
use default conditional highlighting
Definition: HGlobals.h:555
virtual bool HighlightAnnotations()
Definition: HSelectionSet.h:322
virtual bool GetAllowSubentitySelection()
Definition: HSelectionSet.h:630
select on an entity (piece of geometry, cutting plane or light)
Definition: HSelectionSet.h:41
virtual float GetSelectionEdgeWeight()
Definition: HSelectionSet.h:531
virtual void SetSelectionEdgeWeight(float weight)
Definition: HSelectionSet.h:524
select on arbitrary subentities (face, edge, or vertex)
Definition: HSelectionSet.h:43
HPixelRGBA m_selectedEdgeColor
The color used for selected edges.
Definition: HSelectionSet.h:84
virtual void SetSelectionCutEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:487
virtual bool GetSubentityFaceSelection()
Definition: HSelectionSet.h:801
bool m_bForceInvisible
This flag indicating whether to make the selected items invisible.
Definition: HSelectionSet.h:93
virtual void SetAllowSubentityDeselection(bool allow)
Definition: HSelectionSet.h:831
HRegionFaceHighlightMode m_bHighlightRegionFacesAutoVisibility
This indicates whether faces in a region should be automatically made visible when highlighted...
Definition: HSelectionSet.h:98
virtual void HighlightRegionFacesAutoVisibility(HRegionFaceHighlightMode face_state)
Definition: HSelectionSet.h:337
use quick move reference highlighting
Definition: HGlobals.h:556
bool m_bSortSelectionList
If this is set, the selection list will be sorted before returning it.
Definition: HSelectionSet.h:102
virtual void SetReferenceSelection(bool ref_sel)
Definition: HSelectionSet.h:746
virtual void SetSubentityEdgeSelection(bool select)
Definition: HSelectionSet.h:816
bool GetSortSelectionList()
Definition: HSelectionSet.h:796
Definition: HPShowCache.h:216
float m_fselectedMarkerSize
The marker size used for selected markers.
Definition: HSelectionSet.h:90
virtual void GetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:467
HC_KEY m_SelectionSegment
The key of the reference selection segment.
Definition: HSelectionSet.h:80
virtual bool GetAllowDisplacement()
Definition: HSelectionSet.h:455
virtual float GetSelectionMarkerSize()
Definition: HSelectionSet.h:544
Definition: HPShowCache.h:214
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
HPixelRGBA m_selectedCutFaceColor
The color used for selected cut faces.
Definition: HSelectionSet.h:86
virtual bool GetAllowEntitySelection()
Definition: HSelectionSet.h:646
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
The HSelectionItem class is an interface definition for a selection item.
Definition: HSelectionItem.h:45
virtual void SetSubentityTracking(bool allow)
Definition: HSelectionSet.h:845
HSelectionHighlightMode m_HighlightMode
Stores the current highlighting mode.
Definition: HSelectionSet.h:100
virtual void HighlightRegionEdgesAutoVisibility(HRegionEdgeHighlightMode edge_state)
Definition: HSelectionSet.h:334
void SetSortSelectionList(bool sort)
Definition: HSelectionSet.h:791
bool m_bNotify
If this is set Select() will send HSignalSelected for each item.
Definition: HSelectionSet.h:104
HC_KEY m_TransparencyStyle
The key to a style used in inverse transparency highlighting.
Definition: HSelectionSet.h:81
virtual void HighlightRegionEdgesAutoVisibility(bool yesno)
Definition: HSelectionSet.h:331
virtual bool GetSubentityEdgeSelection()
Definition: HSelectionSet.h:811
bool m_bAllowDisplacement
This indicates whether selected segments should be drawn in front of coincident geometry.
Definition: HSelectionSet.h:94
virtual HC_KEY GetSelectionSegment()
Definition: HSelectionSet.h:718
virtual bool GetInvisible()
Definition: HSelectionSet.h:444
HPixelRGBA m_selectedFaceColor
The color used for selected faces.
Definition: HSelectionSet.h:83
HC_KEY GetHighlightStyle() const
Definition: HSelectionSet.h:587
virtual void SetSelectionEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:474
float m_fTransmission
the transmission value used in Inverse Transparency highlighting
Definition: HSelectionSet.h:101
virtual void HighlightAnnotations(bool yesno)
Definition: HSelectionSet.h:325
HSelectLevel
Definition: HSelectionSet.h:38
virtual void HighlightRegionEdges(bool yesno)
Definition: HSelectionSet.h:319
HPixelRGBA m_selectedMarkerColor
The color used for selected markers.
Definition: HSelectionSet.h:87
select on pre-defined regions of an entity
Definition: HSelectionSet.h:42
virtual bool GetAllowSubentityDeselection()
Definition: HSelectionSet.h:836
bool m_bForceGrayScale
This flag indicating whether to use gray scale selection.
Definition: HSelectionSet.h:92
virtual void SetAllowDisplacement(bool allowDisplacement)
Definition: HSelectionSet.h:450
virtual HSelectLevel GetSelectionLevel() const
Definition: HSelectionSet.h:639
virtual bool GetSubentityVertexSelection()
Definition: HSelectionSet.h:821
virtual bool HighlightRegionEdges()
Definition: HSelectionSet.h:316
virtual void GetSelectionCutFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:505
virtual void SetSelectionCutFaceColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:499
HRegionEdgeHighlightMode m_bHighlightRegionEdgesAutoVisibility
This indicates whether edges in a region should be automatically made visible when highlighted...
Definition: HSelectionSet.h:97
virtual void GetSelectionMarkerColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:518
virtual bool GetSubentityTracking()
Definition: HSelectionSet.h:850
bool m_bHighlightAnnotations
This indicates whether MVO annotations should be highlighted.
Definition: HSelectionSet.h:96