00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 // HUtilityAnnotationMeasure.h : interface of the HUtilityAnnotationMeasure class 00011 00012 #ifndef _HUtilityAnnotationMeasure_H 00013 #define _HUtilityAnnotationMeasure_H 00014 00015 #ifdef H_PACK_8 00016 #pragma pack(push) 00017 #pragma pack(8) 00018 #endif 00019 00020 #include "hic_types.h" 00021 00022 #include "HTools.h" 00023 #include "HUtilityAnnotation.h" 00024 00026 00029 class MVO_API HUtilityAnnotationMeasure : public HUtilityAnnotation 00030 { 00031 public: 00033 virtual char const* GetType() {return "HUtilityAnnotationMeasure";}; 00034 00046 virtual HC_KEY Insert( 00047 HPoint target, 00048 HPoint position, 00049 HC_KEY AnnotateThis, 00050 HBaseView * pView, 00051 HC_KEY layer_key = INVALID_KEY, 00052 int bg_type = BG_QUAD, 00053 bool useArrow = true, 00054 HC_KEY * key_path = (HC_KEY*)0, 00055 int key_path_length = 0); 00056 00069 virtual HC_KEY Insert( 00070 char const * text, 00071 HPoint target, 00072 HPoint position, 00073 HC_KEY AnnotateThis, 00074 HBaseView * pView, 00075 HC_KEY layer_key = INVALID_KEY, 00076 int bg_type = BG_QUAD, 00077 bool useArrow = true, 00078 HC_KEY * key_path = (HC_KEY*)0, 00079 int key_path_length = 0); 00080 00093 virtual HC_KEY InsertWithEncoding( 00094 unsigned short const * text, 00095 HPoint target, 00096 HPoint position, 00097 HC_KEY AnnotateThis, 00098 HBaseView * pView, 00099 HC_KEY layer_key = INVALID_KEY, 00100 int bg_type = BG_QUAD, 00101 bool useArrow = true, 00102 HC_KEY * key_path = (HC_KEY*)0, 00103 int key_path_length = 0); 00104 00106 virtual void MoveText(HPoint position); 00107 00109 virtual void MoveText(HPoint A, HPoint B); 00110 00112 static bool IsMeasurement(HC_KEY key); 00113 00116 virtual void SetNote(HC_KEY noteskey, HBaseView *view); 00117 static void drawLineCallbackDummy (HIC_Rendition const *rendition,int count, HIC_DC_Point *p); 00118 00119 protected: 00120 static void mid_point(HPoint &A, HPoint &B, HPoint &mid); 00121 00122 HPoint m_pnt_a1, m_pnt_b1; 00123 HPoint m_pnt_a2, m_pnt_b2, m_position; 00124 }; 00125 00126 00127 #ifdef H_PACK_8 00128 #pragma pack(pop) 00129 #endif 00130 00131 #endif 00132 00133 00134