32 lines
841 B
C++
32 lines
841 B
C++
#pragma once
|
|
#include "ADSGePoint3d.h"
|
|
|
|
class BlockGeomInfo
|
|
{
|
|
public:
|
|
BlockGeomInfo();
|
|
virtual ~BlockGeomInfo();
|
|
|
|
double GetSizeX() const;
|
|
double GetSizeY() const;
|
|
double GetSizeZ() const;
|
|
double GetRotation() const;
|
|
ADSGePoint3d GetCenter() const;
|
|
|
|
// 取得四个角点
|
|
ADSGePoint3d GetLowLeft() const;
|
|
ADSGePoint3d GetLowRight() const;
|
|
ADSGePoint3d GetUpRight() const;
|
|
ADSGePoint3d GetUpLeft() const;
|
|
void GetPolyline(AcDbPolyline &pline) const;
|
|
Acad::ErrorStatus CalInsertParameters(const AcDbBlockReference *pBlk, ADSGePoint3d &ptBase, double *nRot, double *nSx, double *nSy, double *nSz) const;
|
|
|
|
void SetFromInsert(const AcDbBlockReference *pInsert);
|
|
void UpdateInsert(AcDbBlockReference *pInsert) const;
|
|
|
|
public:
|
|
ADSGePoint3d m_ptCen; //底面中心
|
|
double m_nRotation;
|
|
double m_nSizeX, m_nSizeY, m_nSizeZ;
|
|
};
|