264 lines
3.8 KiB
C++
264 lines
3.8 KiB
C++
#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<AcDbObjectId> 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<AcDbObjectId> &idPipe)
|
|
{
|
|
m_idVecPipe.clear();
|
|
std::vector<AcDbObjectId>::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<AcDbObjectId> m_idVecPipe; //管子id
|
|
|
|
};
|