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 #pragma once 00011 00012 #include <dbcolor.h> 00013 #include <dbents.h> 00014 #include <gevec3d.h> 00015 #include <hc.h> 00016 00017 #include <set> 00018 #include <map> 00019 00020 HC_KEY My_Insert_Circle(double const * ip1, double const * ip2, double const * ip3); 00021 void copy_dwg_matrix(float matrix[16], AcGeMatrix3d const & autocad_matrix); 00022 void calculate_alignment(AcDbText * in_text, char * out_alignment); 00023 void calculate_alignment(AcDbMText::AttachmentPoint attachmentPoint, char * out_alignment); 00024 void insert_arrow(AcGePoint3d startPoint, AcGePoint3d endPoint); 00025 00026 #define DWG_HASH_BYTES 16 00027 #define DWG_HASH_SIZE 2*DWG_HASH_BYTES+1 00028 00029 struct mTextData 00030 { 00031 public: 00032 std::map<AcDbHandle, HC_KEY> mtext_handles; 00033 std::set<HC_KEY> mtext_segments; 00034 }; 00035 00036 class DWG_HASH 00037 { 00038 private: 00039 char m_str[DWG_HASH_SIZE]; 00040 public: 00041 DWG_HASH(void const * input, size_t const len); 00042 ~DWG_HASH(); 00043 00044 operator const char* () const; 00045 }; 00046 00047 bool applyColor(AcCmEntityColor const & color, bool open_segment = false);