00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 // $Id$ 00013 // 00014 00015 // HUtilityAnnotationMeasure.h : interface of the HUtilityAnnotationMeasure class 00016 00017 #ifndef _HUtilityAnnotationMeasure_H 00018 #define _HUtilityAnnotationMeasure_H 00019 00020 #ifdef H_PACK_8 00021 #pragma pack(push) 00022 #pragma pack(8) 00023 #endif 00024 00025 #include "hic_types.h" 00026 00027 #include "HTools.h" 00028 #include "HUtilityAnnotation.h" 00029 00031 00034 class MVO_API HUtilityAnnotationMeasure : public HUtilityAnnotation 00035 { 00036 public: 00038 virtual char const* GetType() {return "HUtilityAnnotationMeasure";}; 00039 00051 virtual HC_KEY Insert( 00052 HPoint target, 00053 HPoint position, 00054 HC_KEY AnnotateThis, 00055 HBaseView * pView, 00056 HC_KEY layer_key = INVALID_KEY, 00057 int bg_type = BG_QUAD, 00058 bool useArrow = true, 00059 HC_KEY * key_path = (HC_KEY*)0, 00060 int key_path_length = 0); 00061 00074 virtual HC_KEY Insert( 00075 char const * text, 00076 HPoint target, 00077 HPoint position, 00078 HC_KEY AnnotateThis, 00079 HBaseView * pView, 00080 HC_KEY layer_key = INVALID_KEY, 00081 int bg_type = BG_QUAD, 00082 bool useArrow = true, 00083 HC_KEY * key_path = (HC_KEY*)0, 00084 int key_path_length = 0); 00085 00098 virtual HC_KEY InsertWithEncoding( 00099 unsigned short const * text, 00100 HPoint target, 00101 HPoint position, 00102 HC_KEY AnnotateThis, 00103 HBaseView * pView, 00104 HC_KEY layer_key = INVALID_KEY, 00105 int bg_type = BG_QUAD, 00106 bool useArrow = true, 00107 HC_KEY * key_path = (HC_KEY*)0, 00108 int key_path_length = 0); 00109 00111 virtual void MoveText(HPoint position); 00112 00114 virtual void MoveText(HPoint A, HPoint B); 00115 00117 static bool IsMeasurement(HC_KEY key); 00118 00121 virtual void SetNote(HC_KEY noteskey, HBaseView *view); 00122 static void drawLineCallbackDummy (HIC_Rendition const *rendition,int count, HIC_DC_Point *p); 00123 00124 protected: 00125 static void mid_point(HPoint &A, HPoint &B, HPoint &mid); 00126 00127 HPoint m_pnt_a1, m_pnt_b1; 00128 HPoint m_pnt_a2, m_pnt_b2, m_position; 00129 }; 00130 00131 00132 #ifdef H_PACK_8 00133 #pragma pack(pop) 00134 #endif 00135 00136 #endif 00137 00138 00139