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);
346 virtual void DeSelectAll();
358 virtual bool IsSelected(HC_KEY key)
const;
377 virtual bool IsSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[])
const;
410 virtual bool IsRegionSelected(HC_KEY key,
int num_include_keys,
const HC_KEY include_keys[],
int region)
const;
417 virtual bool IsHighlightSegment(HC_KEY segment_key)
const;
429 virtual void SetGrayScale(
bool grayScale);
436 virtual void SetInvisible(
bool Invisible);
458 virtual HSelList * GetSelectionList();
548 virtual HC_KEY GetAt(
unsigned int index);
566 unsigned int GetSize()
const;
571 virtual void Reset();
579 virtual bool DeleteSelection(
bool emit_message=
false);
587 void SetHighlightStyle(HC_KEY key) { m_keyHighlightStyle = key; };
589 const char * GetHighlightStyleName()
const{
return m_keyHighlightStyleName; };
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 void SetUseDefinedHighlight(
bool use_defined_highlight);
761 return m_bUseDefinedHighlight;
769 virtual void SetReferenceSelectionType(
HRefSelType type);
770 virtual HRefSelType GetReferenceSelectionType() {
return m_quickmoves_type;}
775 virtual void UpdateHighlightStyle();
794 void FlushPShowCache();
799 void UpdateHighlighting();
801 HBaseView * GetView() {
return m_pView; }
872 void GetSelectionBounding(
HPoint * minimum,
HPoint * maximum)
const;
885 int GetAttrLookupID(
const char * attribute_string);
891 void HoopsRemove( HC_KEY key );
892 void DeselectSegment( HC_KEY key,
char const *keytype );
893 void DeselectGeometry( HC_KEY key );
898 inline bool is_selected(HC_KEY key)
const;
900 void ensure_is_segment(HC_KEY &key)
const;
904 struct vhash_s *m_pAttrLookupHash;
911 HSelHash * m_selected_hash;
912 float m_hash_last_updated;
913 float m_list_last_updated;
916 HC_KEY m_keyHighlightStyle;
917 char m_keyHighlightStyleName[32];
921 bool m_subentity_face;
922 bool m_subentity_edge;
923 bool m_subentity_vertex;
924 bool m_subentity_maintain_maps;
926 bool m_bSubwindowPenetration;
928 bool m_currently_in_DeleteSelection;
virtual void SetSelectWillNotify(bool notify)
Definition: HSelectionSet.h:878
void SetPShowCache(HVHashPShowCache *new_cache)
Definition: HSelectionSet.h:789
virtual void SetSubentityFaceSelection(bool select)
Definition: HSelectionSet.h:821
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:198
virtual const HSelectionHighlightMode GetHighlightMode()
Definition: HSelectionSet.h:679
virtual void GetSelectionEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:477
HPixelRGBA m_selectedCutEdgeColor
The color used for selected cut edges.
Definition: HSelectionSet.h:80
virtual void SetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:423
Definition: HPShowCache.h:187
virtual void SetSelectionMarkerColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:508
bool GetUseDefinedHighlight()
Definition: HSelectionSet.h:760
bool m_bHighlightRegionEdges
This indicates whether edges in a region should be highlighted.
Definition: HSelectionSet.h:90
HVHashPShowCache * GetPShowCache()
Definition: HSelectionSet.h:782
virtual void SetSelectionMarkerSize(float size)
Definition: HSelectionSet.h:535
struct vhash_s * m_pHighlightSegsHash
The list of highlighted segment keys.
Definition: HSelectionSet.h:74
virtual bool GetSubwindowPenetration()
Definition: HSelectionSet.h:618
virtual bool GetSelectWillNotify() const
Definition: HSelectionSet.h:881
virtual void GetSelectionCutEdgeColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:490
virtual bool GetReferenceSelection() const
Definition: HSelectionSet.h:738
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:841
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:656
virtual HRegionEdgeHighlightMode HighlightRegionEdgesAutoVisibility()
Definition: HSelectionSet.h:325
virtual HRegionFaceHighlightMode HighlightRegionFacesAutoVisibility()
Definition: HSelectionSet.h:337
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:319
virtual bool GetAllowSubentitySelection()
Definition: HSelectionSet.h:630
select on an entity (piece of geometry, cutting plane or light)
Definition: HSelectionSet.h:36
virtual float GetSelectionEdgeWeight()
Definition: HSelectionSet.h:528
virtual void SetSelectionEdgeWeight(float weight)
Definition: HSelectionSet.h:521
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:484
virtual bool GetSubentityFaceSelection()
Definition: HSelectionSet.h:816
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:846
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:334
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:746
virtual void SetSubentityEdgeSelection(bool select)
Definition: HSelectionSet.h:831
bool GetSortSelectionList()
Definition: HSelectionSet.h:811
Definition: HPShowCache.h:210
float m_fselectedMarkerSize
The marker size used for selected markers.
Definition: HSelectionSet.h:85
virtual void GetSelectionFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:464
HC_KEY m_SelectionSegment
The key of the reference selection segment.
Definition: HSelectionSet.h:75
virtual bool GetAllowDisplacement()
Definition: HSelectionSet.h:452
virtual float GetSelectionMarkerSize()
Definition: HSelectionSet.h:541
Definition: HPShowCache.h:208
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:646
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:860
HSelectionHighlightMode m_HighlightMode
Stores the current highlighting mode.
Definition: HSelectionSet.h:95
virtual void HighlightRegionEdgesAutoVisibility(HRegionEdgeHighlightMode edge_state)
Definition: HSelectionSet.h:331
void SetSortSelectionList(bool sort)
Definition: HSelectionSet.h:806
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:328
virtual bool GetSubentityEdgeSelection()
Definition: HSelectionSet.h:826
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:718
virtual bool GetInvisible()
Definition: HSelectionSet.h:441
HPixelRGBA m_selectedFaceColor
The color used for selected faces.
Definition: HSelectionSet.h:78
HC_KEY GetHighlightStyle() const
Definition: HSelectionSet.h:584
virtual void SetSelectionEdgeColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:471
float m_fTransmission
the transmission value used in Inverse Transparency highlighting
Definition: HSelectionSet.h:96
virtual void HighlightAnnotations(bool yesno)
Definition: HSelectionSet.h:322
HSelectLevel
Definition: HSelectionSet.h:33
virtual void HighlightRegionEdges(bool yesno)
Definition: HSelectionSet.h:316
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:851
bool m_bForceGrayScale
This flag indicating whether to use gray scale selection.
Definition: HSelectionSet.h:87
virtual void SetAllowDisplacement(bool allowDisplacement)
Definition: HSelectionSet.h:447
virtual HSelectLevel GetSelectionLevel() const
Definition: HSelectionSet.h:639
virtual bool GetSubentityVertexSelection()
Definition: HSelectionSet.h:836
virtual bool HighlightRegionEdges()
Definition: HSelectionSet.h:313
virtual void GetSelectionCutFaceColor(HPixelRGBA &rgba)
Definition: HSelectionSet.h:502
virtual void SetSelectionCutFaceColor(HPixelRGBA &rgb)
Definition: HSelectionSet.h:496
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:515
virtual bool GetSubentityTracking()
Definition: HSelectionSet.h:865
bool m_bHighlightAnnotations
This indicates whether MVO annotations should be highlighted.
Definition: HSelectionSet.h:91