88 lines
3.5 KiB
C++
88 lines
3.5 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : 导出全局函数头文件
|
|
// = Version : ver2.0
|
|
// = Author : lfy
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 全局函数的声明
|
|
// = Maintainers:
|
|
//
|
|
//-------------------------------------------------------------------------------------------------------+
|
|
|
|
#ifndef _TCHSUBGLOBALFUNC_H_
|
|
#define _TCHSUBGLOBALFUNC_H_
|
|
|
|
#ifndef _TWCSTRINGLIST_H_
|
|
#include "TWCStringList.h"
|
|
#endif
|
|
|
|
#ifndef _TGPLINE2D_H_
|
|
#include "TGPLine2D.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEFITGRAPH_H_
|
|
#include "TPGeFitGraph.h"
|
|
#endif
|
|
|
|
#ifndef _TSQTABLE2_H_
|
|
#include "TSqTable2.h"
|
|
#endif
|
|
|
|
class TGRegion2D;
|
|
class TGGeRegion2D;
|
|
|
|
namespace TchSubExport
|
|
{
|
|
GEOAPI void RegisterClassId();
|
|
|
|
GEOAPI void GOutput(const TGObject*pObj,int color);
|
|
//poly是输入也是输出,左为负,右为正
|
|
GEOAPI BOOL Offset(double dist,TGGePoly2D &poly);
|
|
GEOAPI void Offset(double dist,TGGePoly2D poly,TDPtrList<TGGePoly2D>&lstRes);
|
|
|
|
GEOAPI TPGeCurve2D* TGGeCurveSegmentToTPGeCurve2D(TGGeCurveSegment cv);
|
|
GEOAPI void SearchOutline(const TDPtrList<TGGeCurveSegment>&lstSeg,TDPtrList<TGGePoly2D>&lstPoly);
|
|
|
|
GEOAPI void TGGePoly2DToTGPLine2D(const TGGePoly2D&poly0,TGPLine2D&poly);
|
|
|
|
GEOAPI void TGMLine2DToTGGePoly2D(const TGMLine2D&poly0,TGGePoly2D&poly);
|
|
|
|
GEOAPI bool IsInter(const TGGePoly2D& poly1,const TGGePoly2D&poly2);
|
|
|
|
GEOAPI bool IsInclude( const TGGePoly2D& poly1,const TGGePoly2D& poly2);
|
|
|
|
GEOAPI void CutPoly2D(const TGGePoly2D&poly2d,double dist,TGObjectList &res);
|
|
|
|
GEOAPI bool GetSubPoly(const TGGePoly2D&poly,TADSGePoint3d pt1,TADSGePoint3d pt2,TGGePoly2D&subPoly);
|
|
|
|
GEOAPI void PolyClip(const TDPtrList<TGGePoly2D> &ss,const TGGePoly2D& poly,TDPtrList<TGGePoly2D> &ssIn,TDPtrList<TGGePoly2D> &ssOut,TDPtrList<TGGePoly2D> &ssEdge);
|
|
|
|
|
|
//矩形裁剪直线段 日照用
|
|
//1.Liang_Barsky算法,由Cyrus_Beck算法而来
|
|
GEOAPI bool LB_Clip(const double &left,const double &top,const double &right,const double& bot, const double &x1,const double &y1,const double &dx,const double &dy, double &tMin,double &tMax);
|
|
|
|
GEOAPI TGRegion2D* TGGeRegion2DToTGRegion2D(const TGGeRegion2D&r1);
|
|
GEOAPI TGGeRegion2D* TGRegion2DToTGGeRegion2D(const TGRegion2D&r1);
|
|
|
|
GEOAPI AcDbEntity *Obj2Entity(TGObject *pObj);
|
|
|
|
// 区域的并
|
|
GEOAPI void Union(TDPtrList<TGGeRegion2D>&);
|
|
GEOAPI int Union(const TGGePoly2D &poly1, const TGGePoly2D &poly2, TDPtrList<TGGePoly2D> &lstResult);
|
|
//GEOAPI void Union(const TDPtrList<TGGePoly2D> &lstSourcePolies, const TDPtrList<TGGePoly2D> &lstClipPolies, TDPtrList<TGGePoly2D> &lstResultPolies);
|
|
|
|
// 区域的减法
|
|
GEOAPI void Subtract(TDPtrList<TGGeRegion2D>&,const TDPtrList<TGGeRegion2D>&);
|
|
GEOAPI int Subtract(const TGGePoly2D &poly1, const TGGePoly2D &poly2, TDPtrList<TGGePoly2D> &lstResult);
|
|
//GEOAPI void Subtract(const TDPtrList<TGGePoly2D> &lstSourcePolies, const TDPtrList<TGGePoly2D> &lstClipPolies, TDPtrList<TGGePoly2D> &lstResultPolies);
|
|
|
|
GEOAPI void Intersect(const TGGeRegion2D &r1,const TGGeRegion2D &r2,TDPtrList<TGGeRegion2D> &);
|
|
GEOAPI int Intersect(const TGGePoly2D &poly1, const TGGePoly2D &poly2, TDPtrList<TGGePoly2D> &lstDest);
|
|
//GEOAPI void Intersect(const TDPtrList<TGGePoly2D> &lstSourcePolies, const TDPtrList<TGGePoly2D> &lstClipPolies, TDPtrList<TGGePoly2D> &lstResultPolies);
|
|
|
|
GEOAPI bool PrepareFit(TSqTable2<TADSGePoint3d> &ptArray0,TPGeFitGraph &graphFit);
|
|
GEOAPI bool PrepareFit(TADSGePoint3d ptMin,double nDist,int rowNum,int colNum,TSqTable2<float>& array,TPGeFitGraph&graphFit);
|
|
}
|
|
|
|
#endif |