#pragma once class CImpDrawControllableSection { public: CImpDrawControllableSection(); double GetRoadMidEle() { return m_dRoadMidEle; } void SetRoadMidEle(double dRoadMidEle) { m_dRoadMidEle = dRoadMidEle; } AcDbObjectId GetRoadMidLineId() { return m_idMidLine; } void SetRoadMidLineId(const AcDbObjectId &idLine) { m_idMidLine = idLine; } double GetScaleX() { return m_dScaleX; } void SetScaleX(double dScaleX) { m_dScaleX = dScaleX; } double GetScaleY() { return m_dScaleY; } void SetScaleY(double dScaleY) { m_dScaleY = dScaleY; } CString GetNumber() { return m_strNumber; } void SetNumber(const CString &strNumber) { m_strNumber = strNumber; } AcGePoint3d GetPtS() { return m_ptS; } void SetPtS(const AcGePoint3d &ptS) { m_ptS = ptS; } AcGePoint3d GetPtE() { return m_ptE; } void SetPtE(const AcGePoint3d &ptE) { m_ptE = ptE; } AcGeVector3d GetVt() { return m_vt; } void SetVt(const AcGeVector3d &vt) { m_vt = vt; } std::vector GetIdPipe() { return m_idVecPipe; } double GetGreenGrad() { return m_dGreenGrad; } void SetGreenGrad(double dVal) { m_dGreenGrad = dVal; } double GetGreenWidth() { return m_dGreenWidth; } void SetGreenWidth(double dVal) { m_dGreenWidth = dVal; } double GetGreenGrad2() { return m_dGreenGrad2; } void SetGreenGrad2(double dVal) { m_dGreenGrad2 = dVal; } double GetGreenWidth2() { return m_dGreenWidth2; } void SetGreenWidth2(double dVal) { m_dGreenWidth2 = dVal; } double GetCarGrad() { return m_dCarGrad; } void SetCarGrad(double dVal) { m_dCarGrad = dVal; } double GetCarWidth() { return m_dCarWidth; } void SetCarWidth(double dVal) { m_dCarWidth = dVal; } double GetMenGrad() { return m_dMenGrad; } void SetMenGrad(double dVal) { m_dMenGrad = dVal; } double GetMenWidth() { return m_dMenWidth; } void SetMenWidth(double dVal) { m_dMenWidth = dVal; } double GetNoCarGrad() { return m_dNoCarGrad; } void SetNoCarGrad(double dVal) { m_dNoCarGrad = dVal; } double GetNoCarWidth() { return m_dNoCarWidth; } void SetNoCarWidth(double dVal) { m_dNoCarWidth = dVal; } double GetMenHeight() { return m_dMenHeight; } void SetMenHeight(double dVal) { m_dMenHeight = dVal; } double GetSplitHeight() { return m_dSplitHeight; } void SetSplitHeight(double dVal) { m_dSplitHeight = dVal; } int GetType() { return m_nType; } void SetType(int nType) { m_nType = nType; } void SetIdPipe(const std::vector &idPipe) { m_idVecPipe.clear(); std::vector::const_iterator it; for (it = idPipe.begin(); it!= idPipe.end(); it++) { m_idVecPipe.push_back(*it); } } bool DrawSection(); private: double m_dRoadMidEle; // 道路中心线标高 double m_dScaleX; // 横向比例系数 double m_dScaleY; // 纵向比例系数 CString m_strNumber; // 剖切编号 AcGePoint3d m_ptS; // 剖切起点 AcGePoint3d m_ptE; // 剖切终点 AcGeVector3d m_vt; // 剖切方向 AcDbObjectId m_idMidLine; // 中心线 double m_dGreenGrad; // 靠近道路中心线的绿化带坡度 double m_dGreenWidth; // 靠近道路中心线的绿化带坡度 double m_dGreenGrad2; // 远离道路中心线的绿化带坡度 double m_dGreenWidth2; // 远离道路中心线的绿化带坡度 double m_dCarGrad; // 车行道坡度 double m_dCarWidth; // 车行道宽度 double m_dMenGrad; // 人行道坡度 double m_dMenWidth; // 人行道宽度 double m_dNoCarGrad; // 非机动车道坡度 double m_dNoCarWidth; // 非机动车道宽度 double m_dMenHeight; // 人道牙高度 double m_dSplitHeight; // 分道牙高度 int m_nType; // 板块类型 std::vector m_idVecPipe; //管子id };