31 lines
793 B
C++
31 lines
793 B
C++
#pragma once
|
|
|
|
namespace InsEqu
|
|
{
|
|
enum EAlignType
|
|
{
|
|
eAlignLeft = 0,
|
|
eAlignCenter,
|
|
eAlignRight,
|
|
eNone,
|
|
};
|
|
|
|
void insertEqu();
|
|
|
|
void generateControlLine();
|
|
|
|
// 给出对齐类型(EAlignType)和舱室索引,计算出管廊需要偏移的距离
|
|
double getEarthwormOffset(AecDbEarthWorm *pEw, const int &idxRoom, const EAlignType &alignType);
|
|
double getEarthwormOffset(AcDbObjectId &id, const int &idxRoom, const EAlignType &alignType);
|
|
|
|
bool getAlignTypeByOffset(AecDbEarthWorm *pEw, int &alignType, int &idxRoom, double &dOffset);
|
|
|
|
void offsetAndConnectEws(AcDbObjectIdArray &ids
|
|
, const int &alignType
|
|
, const int &idxRoom
|
|
, const double &dOldOffset = .0);
|
|
|
|
int getAlignType(const AcDbObjectId &id);
|
|
int getAlignRoom(const AcDbObjectId &id);
|
|
double getAlignOffset(const AcDbObjectId &id);
|
|
} |