21 #ifndef _HSELECTIONITEM_H
22 #define _HSELECTIONITEM_H
56 virtual const char *
GetName()
const {
return "HSelectionItem"; };
67 virtual HC_KEY GetSegmentKey()
const;
79 virtual bool Highlight() = 0;
84 virtual bool UnHighlight() = 0;
90 virtual bool IsHighlighted()
const = 0;
98 virtual bool Delete() = 0;
107 virtual bool IsInstanced()
const = 0;
112 virtual int GetIncludeCount()
const = 0;
116 virtual const HC_KEY *
const GetIncludeKeys()
const = 0;
121 virtual void GetIncludeKeys(HC_KEY * includes)
const = 0;
130 virtual bool QueryIncludeDependency(HC_KEY include_key, HC_KEY & ret_dependent_key) = 0;
141 virtual bool UpdateIncludeDependency(HC_KEY include_key, HC_KEY dependent_key, HC_KEY replacement_key) = 0;
146 virtual int GetFullPathCount(
HBaseView * view);
159 virtual void GetFullPathKeys (
HBaseView * view, HC_KEY * path);
220 virtual const char *
GetName()
const {
return "HSmartSelItem"; };
284 const int incl_count,
const HC_KEY * incl_keys);
296 static bool IsRegionHighlighted(
const HC_KEY key,
const HSelectionSet * selection_set,
297 const int incl_count,
const HC_KEY * incl_keys,
int region);
342 void UpdateIncludePath(
int incl_count, HC_KEY * incl_keys);
367 int GetHighlightedRefListCount();
373 void GetHighlightedRefList(HC_KEY * keys);
375 bool IsSegment() {
return m_is_segment;}
381 void FixIncludePath();
387 HC_KEY GetHighlightedRefKey();
393 void AddHighlightedRefKey(HC_KEY key);
395 struct vlist_s *m_pSelKeyList;
398 void GetBaseTag(
char * retTag);
420 HC_KEY m_entity_proxy_seg_tag;
448 virtual const char *
GetName()
const {
return "HRegionSelItem"; };
452 virtual int const GetRegion()
const {
return m_Region; }
477 virtual int IncrEdgeHighlightCount(HC_KEY key,
HShellEdge const & Edge);
482 virtual int DecrEdgeHighlightCount(HC_KEY key,
HShellEdge const & Edge);
486 virtual void HighlightEdges();
490 virtual void UnHighlightEdges();
494 virtual void HighlightFaces();
498 virtual void UnHighlightFaces();
505 #define HSUBENTITY_FACES 0x01
506 #define HSUBENTITY_VERTICES 0x02
507 #define HSUBENTITY_EDGES 0x04
543 int face_count,
const int * faces,
int vertex_count,
const int * vertex1,
const int * vertex2,
544 bool highlight_faces=
true,
bool highlight_vertices=
true,
bool highlight_edges=
true,
bool maintain_maps =
false);
550 virtual const char *
GetName()
const {
return "HSubentitySelItem"; };
581 bool IsEmpty() {
return (!m_vertex_count && !m_face_count); }
588 int GetFaceCount()
const {
return m_face_count; }
590 void GetFaces(
int * faces);
592 int GetVertexCount()
const {
return m_vertex_count; }
594 void GetVertices(
int * vertex1,
int * vertex2);
596 bool MaintainMaps() {
return m_maintain_maps; }
598 void MaintainMaps(
bool maintain_maps) { m_maintain_maps=maintain_maps; }
600 void GetMapCounts(
int * face_map_count,
int * vertex_map_count);
602 void GetMaps(
int * face_map,
int * vertex_map);
610 bool m_maintain_maps;
611 int m_vertex_map_count;
613 int m_face_map_count;
615 int m_subentity_highlight;
641 virtual const char *
GetName()
const {
return "HOldSelItem"; };
714 char * m_pSelectionPath;
718 void HoopsRemove( HC_KEY key );
719 void DeselectSegment( HC_KEY key,
char const *keytype );
720 void DeselectGeometry( HC_KEY key );
The HShellObject class is a simple wrapper for a shell.
Definition: HUtility.h:204
float m_TimeStamp
Time the item was created. Used for sorting the selection list.
Definition: HSelectionItem.h:181
Definition: HSelectionItem.h:522
virtual const HC_KEY * GetFullPathKeys(HBaseView *view)
virtual const char * GetName() const
Definition: HSelectionItem.h:448
bool IsEmpty()
Definition: HSelectionItem.h:581
virtual bool UnHighlight()
virtual const HC_KEY *const GetIncludeKeys() const
Definition: HSelectionItem.h:688
int m_FullPathCount
The length of the m_FullPath array of keys including the selection item and view key.
Definition: HSelectionItem.h:179
virtual const int GetHighlightMode()
Definition: HSelectionItem.h:347
virtual int GetIncludeCount() const
Definition: HSelectionItem.h:683
virtual bool Equals(const HSelectionItem *i2) const
virtual const char * GetName() const
Definition: HSelectionItem.h:220
virtual const HC_KEY *const GetIncludeKeys() const =0
The HSubentitySelItem - subentity selection item which can handle instancing.
Definition: HSelectionItem.h:517
The HPixelRGBA class is the data type of a rgba pixel.
Definition: HGlobals.h:516
The HShellRegion class is a simple wrapper for a shell's region.
Definition: HUtility.h:170
The HSelectionSet class manages a list of selected items.
Definition: HSelectionSet.h:71
HSelectionHighlightMode
Definition: HGlobals.h:554
The HSmartSelItem - selection item which can handle instancing.
Definition: HSelectionItem.h:192
virtual bool IsInstanced() const
Definition: HSelectionItem.h:679
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:641
virtual void GetIncludeKeys(HC_KEY *) const
Definition: HSelectionItem.h:690
float GetTimeStamp()
Definition: HSelectionItem.h:171
virtual void SetHighlightMode(HSelectionHighlightMode m)
Definition: HSelectionItem.h:353
virtual const HC_KEY *const GetIncludeKeys() const
Definition: HSelectionItem.h:229
virtual HC_KEY GetKey() const
Definition: HSelectionItem.h:61
virtual bool UnHighlight()=0
virtual int const GetRegion() const
Definition: HSelectionItem.h:452
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
HSelectionSet * m_pSelectionSet
The selection set which owns this selection item.
Definition: HSelectionItem.h:176
virtual int GetIncludeCount() const
Definition: HSelectionItem.h:225
virtual const char * GetName() const
Definition: HSelectionItem.h:56
The HRegionSelItem - region selection item which can handle instancing.
Definition: HSelectionItem.h:429
The HShellEdge class is a simple wrapper for a shell's edge.
Definition: HUtility.h:90
The HOldSelItem class implements selection using the old style highlighting which does not handle inc...
Definition: HSelectionItem.h:628
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:175
void SetTimeStamp(float now)
Definition: HSelectionItem.h:165
virtual const char * GetName() const
Definition: HSelectionItem.h:550
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:178