HUtilityAnnotationMeasure.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 // HUtilityAnnotationMeasure.h : interface of the HUtilityAnnotationMeasure class
11 
12 #ifndef _HUtilityAnnotationMeasure_H
13 #define _HUtilityAnnotationMeasure_H
14 
15 #ifdef H_PACK_8
16 #pragma pack(push)
17 #pragma pack(8)
18 #endif
19 
20 #include "hic_types.h"
21 
22 #include "HTools.h"
23 #include "HUtilityAnnotation.h"
24 
26 
30 {
31 public:
33  virtual char const* GetType() {return "HUtilityAnnotationMeasure";};
34 
46  virtual HC_KEY Insert(
47  HPoint target,
48  HPoint position,
49  HC_KEY AnnotateThis,
50  HBaseView * pView,
51  HC_KEY layer_key = INVALID_KEY,
52  int bg_type = BG_QUAD,
53  bool useArrow = true,
54  HC_KEY * key_path = (HC_KEY*)0,
55  int key_path_length = 0);
56 
69  virtual HC_KEY Insert(
70  char const * text,
71  HPoint target,
72  HPoint position,
73  HC_KEY AnnotateThis,
74  HBaseView * pView,
75  HC_KEY layer_key = INVALID_KEY,
76  int bg_type = BG_QUAD,
77  bool useArrow = true,
78  HC_KEY * key_path = (HC_KEY*)0,
79  int key_path_length = 0);
80 
93  virtual HC_KEY InsertWithEncoding(
94  unsigned short const * text,
95  HPoint target,
96  HPoint position,
97  HC_KEY AnnotateThis,
98  HBaseView * pView,
99  HC_KEY layer_key = INVALID_KEY,
100  int bg_type = BG_QUAD,
101  bool useArrow = true,
102  HC_KEY * key_path = (HC_KEY*)0,
103  int key_path_length = 0);
104 
106  virtual void MoveText(HPoint position);
107 
109  virtual void MoveText(HPoint A, HPoint B);
110 
112  static bool IsMeasurement(HC_KEY key);
113 
116  virtual void SetNote(HC_KEY noteskey, HBaseView *view);
117  static void drawLineCallbackDummy (HIC_Rendition const *rendition,int count, HIC_DC_Point p[]);
118 
119 protected:
120  static void mid_point(HPoint &A, HPoint &B, HPoint &mid);
121 
122  HPoint m_pnt_a1, m_pnt_b1;
123  HPoint m_pnt_a2, m_pnt_b2, m_position;
124 };
125 
126 
127 #ifdef H_PACK_8
128 #pragma pack(pop)
129 #endif
130 
131 #endif
132 
133 
134 
virtual void MoveText(HPoint const &pos, HCamera const *camera=0)
virtual HC_KEY InsertWithEncoding(const unsigned short *text, HPoint target, HPoint position, HC_KEY AnnotateThis, HBaseView *pView, HC_KEY layer_key=INVALID_KEY, int bg_type=BG_QUAD, bool useArrow=true, HC_KEY *key_path=(HC_KEY *) 0, int key_path_length=0)
#define HC_KEY
virtual char const * GetType()
Definition: HUtilityAnnotationMeasure.h:33
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
The HUtilityAnnotation class defines and manages annotations.
Definition: HUtilityAnnotation.h:40
The HUtilityAnnotationMeasure class defines and manages annotations.
Definition: HUtilityAnnotationMeasure.h:29
virtual void SetNote(HC_KEY noteskey, HC_KEY view_key)
virtual HC_KEY Insert(HPoint target, HPoint position, HC_KEY AnnotateThis, HBaseView *pView, HC_KEY layer_key=INVALID_KEY, int bg_type=BG_QUAD, bool useArrow=true, HC_KEY *key_path=(HC_KEY *) 0, int key_path_length=0)