16 #ifndef _HSELECTIONSET_H
17 #define _HSELECTIONSET_H
101 bool m_bUseDefinedHighlight;
107 virtual void UpdateTransparency(
bool force_flush=
false);
139 virtual void Select(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
154 virtual void Select(
HSelectionItem * new_sel,
bool emit_message =
false);
173 virtual void SelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message);
199 virtual void SelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
200 int count,
const int faces[]=0,
const int vertex1[]=0,
const int vertex2[]=0,
bool emit_message=
false);
215 virtual void Select(HC_KEY key,
const char* segpath, HC_KEY include_key, HC_KEY includer_key,
bool emit_message =
false);
232 virtual void DeSelect(HC_KEY key,
bool emit_message =
false);
251 virtual void DeSelect(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
263 virtual void DeSelect(
HSelectionItem * remove_sel,
bool emit_message =
false);
279 virtual void DeSelectRegion(
HShellObject const & oShell,
int region,
bool emit_messag);
300 virtual void DeSelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message =
false);
309 virtual void DeSelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
310 int count,
const int faces[],
const int vertex1[],
const int vertex2[],
bool emit_message =
false);
316 virtual bool SelectSubentityOOC (
317 HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
318 int count,
int const faces[] = 0,
int const vertex1[] = 0,
int const vertex2[] = 0,
319 bool emit_message =
false);
321 virtual bool DeSelectOOC (
322 HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
323 bool emit_message =
false);
362 virtual void DeSelectAll();
374 virtual bool IsSelected(HC_KEY key)
const;
393 virtual bool IsSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[])
const;
426 virtual bool IsRegionSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[],
int region)
const;
433 virtual bool IsHighlightSegment(HC_KEY segment_key)
const;
445 virtual void SetGrayScale(
bool grayScale);
452 virtual void SetInvisible(
bool Invisible);
474 virtual HSelList * GetSelectionList();
564 virtual HC_KEY GetAt(
unsigned int index);
571 virtual bool GetAll(HC_KEY out_array[]);
589 unsigned int GetSize()
const;
594 virtual void Reset();
602 virtual bool DeleteSelection(
bool emit_message=
false);
610 void SetHighlightStyle(HC_KEY key) { m_keyHighlightStyle = key; };
612 const char * GetHighlightStyleName()
const{
return m_keyHighlightStyleName; };
635 bool DeInstance(
unsigned int index);
650 virtual void SetSubwindowPenetration(
bool allow);
659 virtual void SetAllowSubentitySelection(
bool allow);
676 virtual void SetAllowEntitySelection(
bool allow);
685 virtual void SetAllowRegionSelection(
bool allow);
691 void RegisterHighlightSeg(HC_KEY seg_key);
697 void UnRegisterHighlightSeg(HC_KEY seg_key);
735 virtual void SetHighlightTransparency(
float trans);
748 void ToggleHighlightStyle();
754 virtual bool GetIsSelection(HC_KEY key);
777 void SetUseDefinedHighlight(
bool use_defined_highlight);
784 return m_bUseDefinedHighlight;
792 virtual void SetReferenceSelectionType(
HRefSelType type);
793 virtual HRefSelType GetReferenceSelectionType() {
return m_quickmoves_type;}
798 virtual void UpdateHighlightStyle();
817 void FlushPShowCache();
822 void UpdateHighlighting();
824 HBaseView * GetView() {
return m_pView; }
895 void GetSelectionBounding(
HPoint * minimum,
HPoint * maximum)
const;
908 int GetAttrLookupID(
const char * attribute_string);
914 void HoopsRemove( HC_KEY key );
915 void DeselectSegment( HC_KEY key,
char const *keytype );
916 void DeselectGeometry( HC_KEY key );
921 inline bool is_selected(HC_KEY key)
const;
923 void ensure_is_segment(HC_KEY &key)
const;
927 struct vhash_s *m_pAttrLookupHash;
934 HSelHash * m_selected_hash;
935 float m_hash_last_updated;
936 float m_list_last_updated;
939 HC_KEY m_keyHighlightStyle;
940 char m_keyHighlightStyleName[32];
944 bool m_subentity_face;
945 bool m_subentity_edge;
946 bool m_subentity_vertex;
947 bool m_subentity_maintain_maps;
949 bool m_bSubwindowPenetration;
951 bool m_currently_in_DeleteSelection;
virtual void SetSelectWillNotify(bool notify)
Definition: HSelectionSet.h:901
void SetPShowCache(HVHashPShowCache *new_cache)
Definition: HSelectionSet.h:812
virtual void SetSubentityFaceSelection(bool select)
Definition: HSelectionSet.h:844
float m_fselectedEdgeWeight
The line thickness used for selected edges.
Definition: HSelectionSet.h:84
The HShellObject class is a simple wrapper for a shell.
Definition: HUtility.h:202
virtual const HSelectionHighlightMode GetHighlightMode()
Definition: HSelectionSet.h:702
virtual void GetSelectionEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:493
HPixelRGBA m_selectedCutEdgeColor
The color used for selected cut edges.
Definition: HSelectionSet.h:80
virtual void SetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:439
Definition: HPShowCache.h:159
virtual void SetSelectionMarkerColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:524
bool GetUseDefinedHighlight()
Definition: HSelectionSet.h:783
bool m_bHighlightRegionEdges
This indicates whether edges in a region should be highlighted.
Definition: HSelectionSet.h:90
HVHashPShowCache * GetPShowCache()
Definition: HSelectionSet.h:805
virtual void SetSelectionMarkerSize(float size)
Definition: HSelectionSet.h:551
struct vhash_s * m_pHighlightSegsHash
The list of highlighted segment keys.
Definition: HSelectionSet.h:74
virtual bool GetSubwindowPenetration()
Definition: HSelectionSet.h:641
virtual bool GetSelectWillNotify() const
Definition: HSelectionSet.h:904
virtual void GetSelectionCutEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:506
virtual bool GetReferenceSelection() const
Definition: HSelectionSet.h:761
HRefSelType
Definition: HGlobals.h:577
HBaseView * m_pView
The HOOPS HBaseView associated with to this HSelectionSet.
Definition: HSelectionSet.h:72
select on a segment
Definition: HSelectionSet.h:35
virtual void SetSubentityVertexSelection(bool select)
Definition: HSelectionSet.h:864
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:509
The HSelectionSet class manages a list of selected items.
Definition: HSelectionSet.h:66
HSelectionHighlightMode
Definition: HGlobals.h:547
virtual bool GetAllowRegionSelection() const
Definition: HSelectionSet.h:679
virtual HRegionEdgeHighlightMode HighlightRegionEdgesAutoVisibility()
Definition: HSelectionSet.h:341
virtual HRegionFaceHighlightMode HighlightRegionFacesAutoVisibility()
Definition: HSelectionSet.h:353
HSelList * m_pSelItemsList
The list of selected HOOPS entities (HSelectionItem pointers).
Definition: HSelectionSet.h:73
HRegionEdgeHighlightMode
Definition: HGlobals.h:561
use default conditional highlighting
Definition: HGlobals.h:548
virtual bool HighlightAnnotations()
Definition: HSelectionSet.h:335
virtual bool GetAllowSubentitySelection()
Definition: HSelectionSet.h:653
select on an entity (piece of geometry, cutting plane or light)
Definition: HSelectionSet.h:36
virtual float GetSelectionEdgeWeight()
Definition: HSelectionSet.h:544
virtual void SetSelectionEdgeWeight(float weight)
Definition: HSelectionSet.h:537
select on arbitrary subentities (face, edge, or vertex)
Definition: HSelectionSet.h:38
HPixelRGBA m_selectedEdgeColor
The color used for selected edges.
Definition: HSelectionSet.h:79
virtual void SetSelectionCutEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:500
virtual bool GetSubentityFaceSelection()
Definition: HSelectionSet.h:839
bool m_bForceInvisible
This flag indicating whether to make the selected items invisible.
Definition: HSelectionSet.h:88
virtual void SetAllowSubentityDeselection(bool allow)
Definition: HSelectionSet.h:869
HRegionFaceHighlightMode m_bHighlightRegionFacesAutoVisibility
This indicates whether faces in a region should be automatically made visible when highlighted...
Definition: HSelectionSet.h:93
virtual void HighlightRegionFacesAutoVisibility(HRegionFaceHighlightMode face_state)
Definition: HSelectionSet.h:350
use quick move reference highlighting
Definition: HGlobals.h:549
bool m_bSortSelectionList
If this is set, the selection list will be sorted before returning it.
Definition: HSelectionSet.h:97
virtual void SetReferenceSelection(bool ref_sel)
Definition: HSelectionSet.h:769
virtual void SetSubentityEdgeSelection(bool select)
Definition: HSelectionSet.h:854
bool GetSortSelectionList()
Definition: HSelectionSet.h:834
Definition: HPShowCache.h:182
float m_fselectedMarkerSize
The marker size used for selected markers.
Definition: HSelectionSet.h:85
virtual void GetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:480
HC_KEY m_SelectionSegment
The key of the reference selection segment.
Definition: HSelectionSet.h:75
virtual bool GetAllowDisplacement()
Definition: HSelectionSet.h:468
virtual float GetSelectionMarkerSize()
Definition: HSelectionSet.h:557
Definition: HPShowCache.h:180
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
HPixelRGBA m_selectedCutFaceColor
The color used for selected cut faces.
Definition: HSelectionSet.h:81
virtual bool GetAllowEntitySelection()
Definition: HSelectionSet.h:669
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
The HSelectionItem class is an interface definition for a selection item.
Definition: HSelectionItem.h:40
virtual void SetSubentityTracking(bool allow)
Definition: HSelectionSet.h:883
HSelectionHighlightMode m_HighlightMode
Stores the current highlighting mode.
Definition: HSelectionSet.h:95
virtual void HighlightRegionEdgesAutoVisibility(HRegionEdgeHighlightMode edge_state)
Definition: HSelectionSet.h:347
void SetSortSelectionList(bool sort)
Definition: HSelectionSet.h:829
bool m_bNotify
If this is set Select() will send HSignalSelected for each item.
Definition: HSelectionSet.h:99
HC_KEY m_TransparencyStyle
The key to a style used in inverse transparency highlighting.
Definition: HSelectionSet.h:76
virtual void HighlightRegionEdgesAutoVisibility(bool yesno)
Definition: HSelectionSet.h:344
virtual bool GetSubentityEdgeSelection()
Definition: HSelectionSet.h:849
bool m_bAllowDisplacement
This indicates whether selected segments should be drawn in front of coincident geometry.
Definition: HSelectionSet.h:89
virtual HC_KEY GetSelectionSegment()
Definition: HSelectionSet.h:741
virtual bool GetInvisible()
Definition: HSelectionSet.h:457
HPixelRGBA m_selectedFaceColor
The color used for selected faces.
Definition: HSelectionSet.h:78
HC_KEY GetHighlightStyle() const
Definition: HSelectionSet.h:607
virtual void SetSelectionEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:487
float m_fTransmission
the transmission value used in Inverse Transparency highlighting
Definition: HSelectionSet.h:96
virtual void HighlightAnnotations(bool yesno)
Definition: HSelectionSet.h:338
HSelectLevel
Definition: HSelectionSet.h:33
virtual void HighlightRegionEdges(bool yesno)
Definition: HSelectionSet.h:332
HPixelRGBA m_selectedMarkerColor
The color used for selected markers.
Definition: HSelectionSet.h:82
select on pre-defined regions of an entity
Definition: HSelectionSet.h:37
virtual bool GetAllowSubentityDeselection()
Definition: HSelectionSet.h:874
bool m_bForceGrayScale
This flag indicating whether to use gray scale selection.
Definition: HSelectionSet.h:87
virtual void SetAllowDisplacement(bool allowDisplacement)
Definition: HSelectionSet.h:463
virtual HSelectLevel GetSelectionLevel() const
Definition: HSelectionSet.h:662
virtual bool GetSubentityVertexSelection()
Definition: HSelectionSet.h:859
virtual bool HighlightRegionEdges()
Definition: HSelectionSet.h:329
virtual void GetSelectionCutFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:518
virtual void SetSelectionCutFaceColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:512
HRegionEdgeHighlightMode m_bHighlightRegionEdgesAutoVisibility
This indicates whether edges in a region should be automatically made visible when highlighted...
Definition: HSelectionSet.h:92
virtual void GetSelectionMarkerColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:531
virtual bool GetSubentityTracking()
Definition: HSelectionSet.h:888
bool m_bHighlightAnnotations
This indicates whether MVO annotations should be highlighted.
Definition: HSelectionSet.h:91