16 #ifndef _HSELECTIONSET_H
17 #define _HSELECTIONSET_H
101 bool m_bUseDefinedHighlight;
107 virtual void UpdateTransparency(
bool force_flush=
false);
138 virtual void Select(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
152 virtual void Select(
HSelectionItem * new_sel,
bool emit_message =
false);
170 virtual void SelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message);
195 virtual void SelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
196 int count,
const int faces[]=0,
const int vertex1[]=0,
const int vertex2[]=0,
bool emit_message=
false);
210 virtual void Select(HC_KEY key,
const char* segpath, HC_KEY include_key, HC_KEY includer_key,
bool emit_message =
false);
226 virtual void DeSelect(HC_KEY key,
bool emit_message =
false);
244 virtual void DeSelect(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
bool emit_message =
false);
255 virtual void DeSelect(
HSelectionItem * remove_sel,
bool emit_message =
false);
271 virtual void DeSelectRegion(
HShellObject const & oShell,
int region,
bool emit_messag);
292 virtual void DeSelectRegion(
HShellObject const & oShell,
int num_include_keys, HC_KEY include_keys[],
int region,
bool emit_message =
false);
301 virtual void DeSelectSubentity(HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
302 int count,
const int faces[],
const int vertex1[],
const int vertex2[],
bool emit_message =
false);
308 virtual bool SelectSubentityOOC (
309 HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
310 int count,
int const faces[] = 0,
int const vertex1[] = 0,
int const vertex2[] = 0,
311 bool emit_message =
false);
313 virtual bool DeSelectOOC (
314 HC_KEY key,
int num_include_keys, HC_KEY include_keys[],
315 bool emit_message =
false);
354 virtual void DeSelectAll();
366 virtual bool IsSelected(HC_KEY key)
const;
385 virtual bool IsSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[])
const;
418 virtual bool IsRegionSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[],
int region)
const;
425 virtual bool IsHighlightSegment(HC_KEY segment_key)
const;
437 virtual void SetGrayScale(
bool grayScale);
444 virtual void SetInvisible(
bool Invisible);
466 virtual HSelList * GetSelectionList();
556 virtual HC_KEY GetAt(
unsigned int index);
563 virtual bool GetAll(HC_KEY out_array[]);
581 unsigned int GetSize()
const;
586 virtual void Reset();
594 virtual bool DeleteSelection(
bool emit_message=
false);
602 void SetHighlightStyle(HC_KEY key) { m_keyHighlightStyle = key; };
604 const char * GetHighlightStyleName()
const{
return m_keyHighlightStyleName; };
627 bool DeInstance(
unsigned int index);
642 virtual void SetSubwindowPenetration(
bool allow);
651 virtual void SetAllowSubentitySelection(
bool allow);
668 virtual void SetAllowEntitySelection(
bool allow);
677 virtual void SetAllowRegionSelection(
bool allow);
683 void RegisterHighlightSeg(HC_KEY seg_key);
689 void UnRegisterHighlightSeg(HC_KEY seg_key);
727 virtual void SetHighlightTransparency(
float trans);
740 void ToggleHighlightStyle();
746 virtual bool GetIsSelection(HC_KEY key);
769 void SetUseDefinedHighlight(
bool use_defined_highlight);
776 return m_bUseDefinedHighlight;
784 virtual void SetReferenceSelectionType(
HRefSelType type);
785 virtual HRefSelType GetReferenceSelectionType() {
return m_quickmoves_type;}
790 virtual void UpdateHighlightStyle();
809 void FlushPShowCache();
814 void UpdateHighlighting();
816 HBaseView * GetView() {
return m_pView; }
887 void GetSelectionBounding(
HPoint * minimum,
HPoint * maximum)
const;
900 int GetAttrLookupID(
const char * attribute_string);
906 void HoopsRemove( HC_KEY key );
907 void DeselectSegment( HC_KEY key,
char const *keytype );
908 void DeselectGeometry( HC_KEY key );
913 inline bool is_selected(HC_KEY key)
const;
915 void ensure_is_segment(HC_KEY &key)
const;
919 struct vhash_s *m_pAttrLookupHash;
926 HSelHash * m_selected_hash;
927 float m_hash_last_updated;
928 float m_list_last_updated;
931 HC_KEY m_keyHighlightStyle;
932 char m_keyHighlightStyleName[32];
936 bool m_subentity_face;
937 bool m_subentity_edge;
938 bool m_subentity_vertex;
939 bool m_subentity_maintain_maps;
941 bool m_bSubwindowPenetration;
943 bool m_currently_in_DeleteSelection;
virtual void SetSelectWillNotify(bool notify)
Definition: HSelectionSet.h:893
void SetPShowCache(HVHashPShowCache *new_cache)
Definition: HSelectionSet.h:804
virtual void SetSubentityFaceSelection(bool select)
Definition: HSelectionSet.h:836
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:201
virtual const HSelectionHighlightMode GetHighlightMode()
Definition: HSelectionSet.h:694
virtual void GetSelectionEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:485
HPixelRGBA m_selectedCutEdgeColor
The color used for selected cut edges.
Definition: HSelectionSet.h:80
virtual void SetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:431
Definition: HPShowCache.h:159
virtual void SetSelectionMarkerColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:516
bool GetUseDefinedHighlight()
Definition: HSelectionSet.h:775
bool m_bHighlightRegionEdges
This indicates whether edges in a region should be highlighted.
Definition: HSelectionSet.h:90
HVHashPShowCache * GetPShowCache()
Definition: HSelectionSet.h:797
virtual void SetSelectionMarkerSize(float size)
Definition: HSelectionSet.h:543
struct vhash_s * m_pHighlightSegsHash
The list of highlighted segment keys.
Definition: HSelectionSet.h:74
virtual bool GetSubwindowPenetration()
Definition: HSelectionSet.h:633
virtual bool GetSelectWillNotify() const
Definition: HSelectionSet.h:896
virtual void GetSelectionCutEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:498
virtual bool GetReferenceSelection() const
Definition: HSelectionSet.h:753
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:856
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:671
virtual HRegionEdgeHighlightMode HighlightRegionEdgesAutoVisibility()
Definition: HSelectionSet.h:333
virtual HRegionFaceHighlightMode HighlightRegionFacesAutoVisibility()
Definition: HSelectionSet.h:345
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:327
virtual bool GetAllowSubentitySelection()
Definition: HSelectionSet.h:645
select on an entity (piece of geometry, cutting plane or light)
Definition: HSelectionSet.h:36
virtual float GetSelectionEdgeWeight()
Definition: HSelectionSet.h:536
virtual void SetSelectionEdgeWeight(float weight)
Definition: HSelectionSet.h:529
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:492
virtual bool GetSubentityFaceSelection()
Definition: HSelectionSet.h:831
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:861
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:342
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:761
virtual void SetSubentityEdgeSelection(bool select)
Definition: HSelectionSet.h:846
bool GetSortSelectionList()
Definition: HSelectionSet.h:826
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:472
HC_KEY m_SelectionSegment
The key of the reference selection segment.
Definition: HSelectionSet.h:75
virtual bool GetAllowDisplacement()
Definition: HSelectionSet.h:460
virtual float GetSelectionMarkerSize()
Definition: HSelectionSet.h:549
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:661
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:875
HSelectionHighlightMode m_HighlightMode
Stores the current highlighting mode.
Definition: HSelectionSet.h:95
virtual void HighlightRegionEdgesAutoVisibility(HRegionEdgeHighlightMode edge_state)
Definition: HSelectionSet.h:339
void SetSortSelectionList(bool sort)
Definition: HSelectionSet.h:821
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:336
virtual bool GetSubentityEdgeSelection()
Definition: HSelectionSet.h:841
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:733
virtual bool GetInvisible()
Definition: HSelectionSet.h:449
HPixelRGBA m_selectedFaceColor
The color used for selected faces.
Definition: HSelectionSet.h:78
HC_KEY GetHighlightStyle() const
Definition: HSelectionSet.h:599
virtual void SetSelectionEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:479
float m_fTransmission
the transmission value used in Inverse Transparency highlighting
Definition: HSelectionSet.h:96
virtual void HighlightAnnotations(bool yesno)
Definition: HSelectionSet.h:330
HSelectLevel
Definition: HSelectionSet.h:33
virtual void HighlightRegionEdges(bool yesno)
Definition: HSelectionSet.h:324
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:866
bool m_bForceGrayScale
This flag indicating whether to use gray scale selection.
Definition: HSelectionSet.h:87
virtual void SetAllowDisplacement(bool allowDisplacement)
Definition: HSelectionSet.h:455
virtual HSelectLevel GetSelectionLevel() const
Definition: HSelectionSet.h:654
virtual bool GetSubentityVertexSelection()
Definition: HSelectionSet.h:851
virtual bool HighlightRegionEdges()
Definition: HSelectionSet.h:321
virtual void GetSelectionCutFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:510
virtual void SetSelectionCutFaceColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:504
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:523
virtual bool GetSubentityTracking()
Definition: HSelectionSet.h:880
bool m_bHighlightAnnotations
This indicates whether MVO annotations should be highlighted.
Definition: HSelectionSet.h:91