Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

MrDwgGeometry.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 #pragma once
11 
12 #include <vector>
13 #include <map>
14 
15 #include <adesk.h>
16 #include <acgi.h>
17 
18 #include "hc.h"
19 #include "misc.h"
20 
22 {
23 protected:
24  void open_direction_segment(const AcGeVector3d & direction) const;
25  void open_height_segment(double height) const;
26 
27 public:
28  Adesk::Boolean circle(const AcGePoint3d & center, const double radius, const AcGeVector3d & normal) const;
29  Adesk::Boolean circle(const AcGePoint3d & pt1, const AcGePoint3d & pt2, const AcGePoint3d & pt3) const;
30  Adesk::Boolean circularArc(const AcGePoint3d & center, const double radius, const AcGeVector3d & normal, const AcGeVector3d & startVector, const double sweepAngle, const AcGiArcType arcType) const;
31  Adesk::Boolean circularArc(const AcGePoint3d & start, const AcGePoint3d & point, const AcGePoint3d & end, const AcGiArcType arcType) const;
32  Adesk::Boolean ellipticalArc(const AcGePoint3d& center, const AcGeVector3d& normal, double majorAxisLength, double minorAxisLength, double startDegreeInRads, double endDegreeInRads, double tiltDegreeInRads, AcGiArcType arcType) const;
33  Adesk::Boolean polyline(const Adesk::UInt32 nbPoints, const AcGePoint3d * pVertexList, const AcGeVector3d * pNormal, Adesk::LongPtr lBaseSubEntMarker) const;
34  Adesk::Boolean polyline(const AcGiPolyline & polylineObj) const;
35  Adesk::Boolean polyPolyline(Adesk::UInt32 nbPolylines, const AcGiPolyline * pPolylines) const;
36  Adesk::Boolean polygon(const Adesk::UInt32 nbPoints, const AcGePoint3d * pVertexList) const;
37  Adesk::Boolean pline(const AcDbPolyline & lwBuf, Adesk::UInt32 fromIndex, Adesk::UInt32 numSegs) const;
38  Adesk::Boolean mesh(const Adesk::UInt32 rows, const Adesk::UInt32 columns, const AcGePoint3d * pVertexList, const AcGiEdgeData * pEdgeData, const AcGiFaceData * pFaceData, const AcGiVertexData * pVertexData, const bool bAutoGenerateNormals) const;
39  Adesk::Boolean ray(const AcGePoint3d & origin, const AcGePoint3d & other_point) const;
40  Adesk::Boolean shell(const Adesk::UInt32 nbVertex, const AcGePoint3d * pVertexList, const Adesk::UInt32 faceListSize, const Adesk::Int32 * pFaceList, const AcGiEdgeData * pEdgeData, const AcGiFaceData * pFaceData, const AcGiVertexData * pVertexData, const struct resbuf * pResBuf, const bool bAutoGenerateNormals) const;
41  Adesk::Boolean text(const AcGePoint3d & position, const AcGeVector3d & normal, const AcGeVector3d & direction, const double height, const double width, const double oblique, const ACHAR * pMsg, AcDbEntity * pEnt = 0) const;
42  Adesk::Boolean text(const AcGePoint3d & position, const AcGeVector3d & normal, const AcGeVector3d & direction, const ACHAR * pMsg, const Adesk::Int32 length, const Adesk::Boolean raw, const AcGiTextStyle & pTextStyle, std::map<std::wstring, std::string> * fontmap, mTextData * mtext, AcDbEntity * pEnt = 0, HC_KEY entityInsertionSegment = -1) const;
43  Adesk::Boolean xline(const AcGePoint3d & one_xline_point, const AcGePoint3d & a_different_xline_point) const;
44 
45  std::vector<HC_KEY> * m_keys;
46  void addKeyToVector(HC_KEY keyToAdd) const;
47  void addKeysToVector(HC_KEY * keysToAdd, int numberOfKeys) const;
48 };
#define HC_KEY
Definition: MrDwgGeometry.h:21
Definition: misc.h:30