16 #ifndef _HSELECTIONITEM_H
17 #define _HSELECTIONITEM_H
51 virtual const char *
GetName()
const {
return "HSelectionItem"; };
62 virtual HC_KEY GetSegmentKey()
const;
74 virtual bool Highlight() = 0;
79 virtual bool UnHighlight() = 0;
85 virtual bool IsHighlighted()
const = 0;
93 virtual bool Delete() = 0;
102 virtual bool IsInstanced()
const = 0;
107 virtual int GetIncludeCount()
const = 0;
111 virtual const HC_KEY *
const GetIncludeKeys()
const = 0;
116 virtual void GetIncludeKeys(HC_KEY * includes)
const = 0;
125 virtual bool QueryIncludeDependency(HC_KEY include_key, HC_KEY & ret_dependent_key) = 0;
136 virtual bool UpdateIncludeDependency(HC_KEY include_key, HC_KEY dependent_key, HC_KEY replacement_key) = 0;
141 virtual int GetFullPathCount(
HBaseView * view);
154 virtual void GetFullPathKeys (
HBaseView * view, HC_KEY * path);
215 virtual const char *
GetName()
const {
return "HSmartSelItem"; };
279 const int incl_count,
const HC_KEY * incl_keys);
291 static bool IsRegionHighlighted(
const HC_KEY key,
const HSelectionSet * selection_set,
292 const int incl_count,
const HC_KEY * incl_keys,
int region);
337 void UpdateIncludePath(
int incl_count, HC_KEY * incl_keys);
362 int GetHighlightedRefListCount();
368 void GetHighlightedRefList(HC_KEY * keys);
370 bool IsSegment() {
return m_is_segment;}
376 void FixIncludePath();
382 HC_KEY GetHighlightedRefKey();
388 void AddHighlightedRefKey(HC_KEY key);
390 struct vlist_s *m_pSelKeyList;
393 void GetBaseTag(
char * retTag);
415 HC_KEY m_entity_proxy_seg_tag;
443 virtual const char *
GetName()
const {
return "HRegionSelItem"; };
447 virtual int const GetRegion()
const {
return m_Region; }
472 virtual int IncrEdgeHighlightCount(HC_KEY key,
HShellEdge const & Edge);
477 virtual int DecrEdgeHighlightCount(HC_KEY key,
HShellEdge const & Edge);
481 virtual void HighlightEdges();
485 virtual void UnHighlightEdges();
489 virtual void HighlightFaces();
493 virtual void UnHighlightFaces();
500 #define HSUBENTITY_FACES 0x01
501 #define HSUBENTITY_VERTICES 0x02
502 #define HSUBENTITY_EDGES 0x04
538 int face_count,
const int * faces,
int vertex_count,
const int * vertex1,
const int * vertex2,
539 bool highlight_faces=
true,
bool highlight_vertices=
true,
bool highlight_edges=
true,
bool maintain_maps =
false);
545 virtual const char *
GetName()
const {
return "HSubentitySelItem"; };
576 bool IsEmpty() {
return !m_vertex_count && !m_face_count; }
583 int GetFaceCount()
const {
return m_face_count; }
585 void GetFaces(
int * faces);
587 int GetVertexCount()
const {
return m_vertex_count; }
589 void GetVertices(
int * vertex1,
int * vertex2);
591 bool MaintainMaps() {
return m_maintain_maps; }
593 void MaintainMaps(
bool maintain_maps) { m_maintain_maps=maintain_maps; }
595 void GetMapCounts(
int * face_map_count,
int * vertex_map_count);
597 void GetMaps(
int * face_map,
int * vertex_map);
608 bool m_maintain_maps;
609 int m_vertex_map_count;
611 int m_face_map_count;
613 int m_subentity_highlight;
639 virtual const char *
GetName()
const {
return "HOldSelItem"; };
712 char * m_pSelectionPath;
716 void HoopsRemove( HC_KEY key );
717 void DeselectSegment( HC_KEY key,
char const *keytype );
718 void DeselectGeometry( HC_KEY key );
The HShellObject class is a simple wrapper for a shell.
Definition: HUtility.h:198
float m_TimeStamp
Time the item was created. Used for sorting the selection list.
Definition: HSelectionItem.h:176
Definition: HSelectionItem.h:517
virtual const HC_KEY * GetFullPathKeys(HBaseView *view)
virtual const char * GetName() const
Definition: HSelectionItem.h:443
bool IsEmpty()
Definition: HSelectionItem.h:576
virtual bool UnHighlight()
virtual const HC_KEY *const GetIncludeKeys() const
Definition: HSelectionItem.h:686
int m_FullPathCount
The length of the m_FullPath array of keys including the selection item and view key.
Definition: HSelectionItem.h:174
virtual const int GetHighlightMode()
Definition: HSelectionItem.h:342
virtual int GetIncludeCount() const
Definition: HSelectionItem.h:681
virtual bool Equals(const HSelectionItem *i2) const
virtual const char * GetName() const
Definition: HSelectionItem.h:215
virtual const HC_KEY *const GetIncludeKeys() const =0
The HSubentitySelItem - subentity selection item which can handle instancing.
Definition: HSelectionItem.h:512
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:509
The HShellRegion class is a simple wrapper for a shell's region.
Definition: HUtility.h:164
The HSelectionSet class manages a list of selected items.
Definition: HSelectionSet.h:66
HSelectionHighlightMode
Definition: HGlobals.h:547
The HSmartSelItem - selection item which can handle instancing.
Definition: HSelectionItem.h:187
virtual bool IsInstanced() const
Definition: HSelectionItem.h:677
virtual bool IsHighlighted() const =0
virtual bool Highlight()=0
virtual bool QueryIncludeDependency(HC_KEY include_key, HC_KEY &ret_dependent_key)=0
virtual bool IsInstanced() const =0
virtual const char * GetName() const
Definition: HSelectionItem.h:639
virtual void GetIncludeKeys(HC_KEY *) const
Definition: HSelectionItem.h:688
float GetTimeStamp()
Definition: HSelectionItem.h:166
virtual void SetHighlightMode(HSelectionHighlightMode m)
Definition: HSelectionItem.h:348
virtual const HC_KEY *const GetIncludeKeys() const
Definition: HSelectionItem.h:224
virtual HC_KEY GetKey() const
Definition: HSelectionItem.h:56
virtual bool UnHighlight()=0
virtual int const GetRegion() const
Definition: HSelectionItem.h:447
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
HSelectionSet * m_pSelectionSet
The selection set which owns this selection item.
Definition: HSelectionItem.h:171
virtual int GetIncludeCount() const
Definition: HSelectionItem.h:220
virtual const char * GetName() const
Definition: HSelectionItem.h:51
The HRegionSelItem - region selection item which can handle instancing.
Definition: HSelectionItem.h:424
The HShellEdge class is a simple wrapper for a shell's edge.
Definition: HUtility.h:84
The HOldSelItem class implements selection using the old style highlighting which does not handle inc...
Definition: HSelectionItem.h:626
virtual bool UpdateIncludeDependency(HC_KEY include_key, HC_KEY dependent_key, HC_KEY replacement_key)=0
HC_KEY m_key
The HOOPS key to the selection element.
Definition: HSelectionItem.h:170
void SetTimeStamp(float now)
Definition: HSelectionItem.h:160
virtual const char * GetName() const
Definition: HSelectionItem.h:545
virtual bool Equals(const HSelectionItem *i2) const
HC_KEY * m_FullPath
The include path plus the selection item and view key. If the object is not a HSmartSelItem, the path may be incomplete.
Definition: HSelectionItem.h:173