Files
envi-code/SourceCode/Code2026/tg_shs/shs_siteplan/LandScapeDataCenterNew.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

86 lines
2.8 KiB
C++

#pragma once
#include "roaddatacenternew.h"
#include "RoadEdgeCreater.h"
#include "TDbRoadEntity.h"
#include "LandScapeStyle.h"
//创建景观路及选择实体
class CLandScapeDataCenterNew :
public CRoadDataCenterNew
{
public:
CLandScapeDataCenterNew(void);
~CLandScapeDataCenterNew(void);
// 添加道路,直线型,或者弧线型。
void AddLineRoad(const CLineRoad &lineRoad);
void AddArcRoad(const CArcRoad &arcRoad);
void RoolBack();
protected:
// 改变选择实体的方式
static void SelectEntInCAD(const AcGePoint2d &ptLeftDown, const AcGePoint2d &ptRightUp,
AcAryLineEntEdgeAdapterPtr &lineEdges, AcAryArcEntEdgeAdapterPtr &arcEdges,
AcAryLineEntEdgeAdapterPtr &lineMids, AcAryArcEntEdgeAdapterPtr &arcMids);
//处理截取的道路边线
static void CreateRoadEdgeStruct(ROAD_EDGE_STRUCT &res);
AcDbObjectIdArray m_arrGroupId;
};
class CLineLandScapeEdgeCreater : public CLineRoadEdgeCreater
{
public:
CLineLandScapeEdgeCreater (const CRoad *pRoad,
AcAryInterStructPointer &leftInterStruct, AcAryInterStructPointer &rightInterStruct,
AcAryInterStructPointer &leftInterStructin, AcAryInterStructPointer &rightInterStructin,
AcAryInterStructPointer &leftInterStructMid, AcAryInterStructPointer &rightInterStructMid,
CFilterMode &leftFilterMode, CFilterMode &rightFiltMode);
~CLineLandScapeEdgeCreater(){}
protected:
void DrawRoadEdge();// 绘制道路时添加图块及设置边线是否显示
};
class CArcLandScapeEdgeCreater : public CArcRoadEdgeCreater
{
public:
CArcLandScapeEdgeCreater (const CRoad *pRoad, AcAryInterStructPointer &leftInterStruct, AcAryInterStructPointer &rightInterStruct,
AcAryInterStructPointer &leftInterStructin, AcAryInterStructPointer &rightInterStructin,
AcAryInterStructPointer &leftInterStructMid, AcAryInterStructPointer &rightInterStructMid,
CFilterMode &leftFilterMode, CFilterMode &rightFiltMode);
~CArcLandScapeEdgeCreater(){}
protected:
void DrawRoadEdge(); // 绘制道路时添加图块及设置边线是否显示
};
//初始化道路参数
class TDbArcLandScapeEntity : public TDbArcRoadEntity
{
DECLARE_TENTBASE();
public:
ACRX_DECLARE_MEMBERS(TDbArcLandScapeEntity);
TDbArcLandScapeEntity(){}
virtual ~TDbArcLandScapeEntity(void){}
void SetHalfWid(double dHalfWid);
public:
CArcRoad* CreateArcRoad(CLandScapeStyle *pLandStyle);
void SetArcRoad(const AcGePoint2d &ptFir, const AcGePoint2d &ptThir, const AcGePoint2d &ptEnd, CLandScapeStyle *pLandStyle);
};
class TDbLineLandScapeEntity : public TDbLineRoadEntity
{
DECLARE_TENTBASE();
public:
ACRX_DECLARE_MEMBERS(TDbLineLandScapeEntity);
TDbLineLandScapeEntity(){}
virtual ~TDbLineLandScapeEntity(void){}
void SetHalfWid(double dHalfWid);
public:
CLineRoad* CreateLineRoad(CLandScapeStyle *pLandStyle);
void SetLineRoad(const AcGePoint2d &ptStart, const AcGePoint2d &ptEnd, CLandScapeStyle *pLandStyle);
};