453 lines
12 KiB
C
453 lines
12 KiB
C
|
#pragma once
|
|||
|
#ifndef MAX_ARRAY_SIZE_L
|
|||
|
#define MAX_ARRAY_SIZE_L 256
|
|||
|
#endif
|
|||
|
|
|||
|
/// ID前缀如下
|
|||
|
/// 0-Point3D, 1-Curve, 2-Surface,3-Solid
|
|||
|
/// 10-MainDeckSurf,11-ShellSurf,12-DeckSurf,13-BoundSurf,14-SubdivSurf,15-OpencargoResion
|
|||
|
/// 16-Space,17-Appendage,18-Hull
|
|||
|
#define MAX_SIZE_OF_OBJECT_GROUP 1000000
|
|||
|
//#define PI 3.14159
|
|||
|
#include "Hull.h"
|
|||
|
|
|||
|
// ADD BY XUEFENG 20180731
|
|||
|
// FOR CODES COMBINE
|
|||
|
#include "Quantity_Color.hxx"
|
|||
|
#include <TopoDS_Shape.hxx>
|
|||
|
// END ADD
|
|||
|
|
|||
|
//本数据结构定义必须同\Infrastructure\Infrastructure.Data\Model\Geometry.cs中数据结构定义完全一致,意义一致
|
|||
|
//***点
|
|||
|
|
|||
|
|
|||
|
struct Point3D :public OBJ3D
|
|||
|
{
|
|||
|
Point3D()
|
|||
|
{
|
|||
|
ID = 0; //0 = ID/MAX_SIZE_OF_OBJECT_GROUP
|
|||
|
CmdID = 0;
|
|||
|
//Name = nullptr;
|
|||
|
//Command = nullptr;
|
|||
|
Visible = 0;
|
|||
|
Color = 0;
|
|||
|
Transparency = 0;
|
|||
|
Type = 0;// <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>﷽ʽ):0<><30><EFBFBD><EFBFBD>,1<><31><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>ȡ,2<><32><EFBFBD><EFBFBD><EFBFBD>ཻ<EFBFBD><E0BDBB>10<31><30><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>C/N=?<3F><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
memset(Src, 0, sizeof(Src));
|
|||
|
|
|||
|
X = 0;
|
|||
|
Y = 0;
|
|||
|
Z = 0;
|
|||
|
CutDir = 0;// <20><><EFBFBD>淽<EFBFBD><E6B7BD>:0X,1Y,2Z.<2E><>Type=1ʱʹ<CAB1><CAB9>.
|
|||
|
Cut = 0; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>.<2E><>Type=1ʱʹ<CAB1><CAB9>.
|
|||
|
ResDir = 0;// Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0<><30>Լ<EFBFBD><D4BC>,1X,2Y,3Z.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
ResType = 0;// Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0<><30><EFBFBD><EFBFBD>,1С<31><D0A1>,2<><32><EFBFBD><EFBFBD>,3<>ӽ<EFBFBD>.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
Res = 0;// Լ<><D4BC>ֵ.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
ProjDir = 0;//ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>1X,2Y,3Z
|
|||
|
MirrorDir = 0; // <20><><EFBFBD><EFBFBD><EFBFBD>淽<EFBFBD><E6B7BD>1-X, 2-Y, 3-Z
|
|||
|
MirrorOrgin = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>MirrorDirƥ<72><C6A5>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
setObjType(E_GEO_3D_OBJ_TYPE_POINT3D);
|
|||
|
}
|
|||
|
~Point3D()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void clear()
|
|||
|
{
|
|||
|
ID = 0; //0 = ID/MAX_SIZE_OF_OBJECT_GROUP
|
|||
|
CmdID = 0;
|
|||
|
// if(Name != nullptr)
|
|||
|
// {
|
|||
|
// delete Name;
|
|||
|
// Name = nullptr;
|
|||
|
// }
|
|||
|
// if(Command != nullptr)
|
|||
|
// {
|
|||
|
// //delete Command;
|
|||
|
// //Command = nullptr;
|
|||
|
// }
|
|||
|
|
|||
|
Visible = 0;
|
|||
|
Color = 0;
|
|||
|
Transparency = 0;
|
|||
|
Type = 0;// <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>﷽ʽ):0<><30><EFBFBD><EFBFBD>,1<><31><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD>ȡ,2<><32><EFBFBD><EFBFBD><EFBFBD>ཻ<EFBFBD><E0BDBB>10<31><30><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>C/N=?<3F><>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
memset(Src, 0, sizeof(Src));
|
|||
|
|
|||
|
X = 0;
|
|||
|
Y = 0;
|
|||
|
Z = 0;
|
|||
|
CutDir = 0;// <20><><EFBFBD>淽<EFBFBD><E6B7BD>:0X,1Y,2Z.<2E><>Type=1ʱʹ<CAB1><CAB9>.
|
|||
|
Cut = 0; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>.<2E><>Type=1ʱʹ<CAB1><CAB9>.
|
|||
|
ResDir = 0;// Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0<><30>Լ<EFBFBD><D4BC>,1X,2Y,3Z.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
ResType = 0;// Լ<><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:0<><30><EFBFBD><EFBFBD>,1С<31><D0A1>,2<><32><EFBFBD><EFBFBD>,3<>ӽ<EFBFBD>.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
Res = 0;// Լ<><D4BC>ֵ.<2E><>Type=1<><31>2ʱʹ<CAB1><CAB9>.
|
|||
|
ProjDir = 0;//ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>1X,2Y,3Z
|
|||
|
MirrorDir = 0; // <20><><EFBFBD><EFBFBD><EFBFBD>淽<EFBFBD><E6B7BD>1-X, 2-Y, 3-Z
|
|||
|
MirrorOrgin = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>MirrorDirƥ<72><C6A5>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
int ID; //0 = ID/MAX_SIZE_OF_OBJECT_GROUP
|
|||
|
int CmdID;
|
|||
|
// char* Name;
|
|||
|
// char* Command;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int Visible;
|
|||
|
int Color;
|
|||
|
double Transparency;
|
|||
|
int Type;// 类型(表达方式):0坐标,1曲线上截取,2曲线相交,10线引用点C/N=?,9镜像点
|
|||
|
int Src[MAX_ARRAY_SIZE_L];
|
|||
|
double X;
|
|||
|
double Y;
|
|||
|
double Z;
|
|||
|
int CutDir;// 截面方向:0X,1Y,2Z.仅Type=1时使用.
|
|||
|
double Cut; // 截面位置.仅Type=1时使用.
|
|||
|
int ResDir;// 约束方向:0无约束,1X,2Y,3Z.仅Type=1或2时使用.
|
|||
|
int ResType;// 约束类型:0等于,1小于,2大于,3接近.仅Type=1或2时使用.
|
|||
|
double Res;// 约束值.仅Type=1或2时使用.
|
|||
|
int ProjDir;//投影方向1X,2Y,3Z
|
|||
|
int MirrorDir; // 镜像面方向:1-X, 2-Y, 3-Z
|
|||
|
double MirrorOrgin; // 镜像面位置,与MirrorDir匹配的分量坐标
|
|||
|
|
|||
|
};
|
|||
|
//***线
|
|||
|
struct Curve:public OBJ3D
|
|||
|
{
|
|||
|
Curve() : ID(0), CmdID(0), Visible(0),
|
|||
|
Color(0), Transparency(0.0), Type(0), ProjIDir(0), ProjIIDir(0),
|
|||
|
ProjIKnotCnt(0), ProjIIKnotCnt(0), OX(0.0), OY(0.0), OZ(0.0),
|
|||
|
R1(0.0), R2(0.0), A1(0.0), A2(0.0), VX(0.0), VY(0.0), VZ(0.0),
|
|||
|
P1X(0.0), P1Y(0.0), P1Z(0.0), P2X(0.0), P2Y(0.0), P2Z(0.0),
|
|||
|
Full(false), MirrorDir(0), MirrorOrgin(0.0), CopyOffsetX(0.0),
|
|||
|
CopyOffsetY(0.0), CopyOffsetZ(0.0)
|
|||
|
{
|
|||
|
// 数值型数组清零
|
|||
|
memset(Src, 0, sizeof(Src));
|
|||
|
memset(KnotID, 0, sizeof(KnotID));
|
|||
|
memset(KnotDir, 0, sizeof(KnotDir));
|
|||
|
memset(KnotDirII, 0, sizeof(KnotDirII));
|
|||
|
memset(KnotAX, 0, sizeof(KnotAX));
|
|||
|
memset(KnotAY, 0, sizeof(KnotAY));
|
|||
|
memset(KnotAZ, 0, sizeof(KnotAZ));
|
|||
|
memset(KnotAXII, 0, sizeof(KnotAXII));
|
|||
|
memset(KnotAYII, 0, sizeof(KnotAYII));
|
|||
|
memset(KnotAZII, 0, sizeof(KnotAZII));
|
|||
|
memset(ProjIKnotX, 0, sizeof(ProjIKnotX));
|
|||
|
memset(ProjIKnotY, 0, sizeof(ProjIKnotY));
|
|||
|
memset(ProjIKnotZ, 0, sizeof(ProjIKnotZ));
|
|||
|
memset(ProjIIKnotX, 0, sizeof(ProjIIKnotX));
|
|||
|
memset(ProjIIKnotY, 0, sizeof(ProjIIKnotY));
|
|||
|
memset(ProjIIKnotZ, 0, sizeof(ProjIIKnotZ));
|
|||
|
memset(ProjIKnotDir, 0, sizeof(ProjIKnotDir));
|
|||
|
memset(ProjIKnotDirII, 0, sizeof(ProjIKnotDirII));
|
|||
|
memset(ProjIIKnotDir, 0, sizeof(ProjIIKnotDir));
|
|||
|
memset(ProjIIKnotDirII, 0, sizeof(ProjIIKnotDirII));
|
|||
|
memset(ProjIKnotAX, 0, sizeof(ProjIKnotAX));
|
|||
|
memset(ProjIKnotAY, 0, sizeof(ProjIKnotAY));
|
|||
|
memset(ProjIKnotAZ, 0, sizeof(ProjIKnotAZ));
|
|||
|
memset(ProjIKnotAXII, 0, sizeof(ProjIKnotAXII));
|
|||
|
memset(ProjIKnotAYII, 0, sizeof(ProjIKnotAYII));
|
|||
|
memset(ProjIKnotAZII, 0, sizeof(ProjIKnotAZII));
|
|||
|
memset(ProjIIKnotAX, 0, sizeof(ProjIIKnotAX));
|
|||
|
memset(ProjIIKnotAY, 0, sizeof(ProjIIKnotAY));
|
|||
|
memset(ProjIIKnotAZ, 0, sizeof(ProjIIKnotAZ));
|
|||
|
memset(ProjIIKnotAXII, 0, sizeof(ProjIIKnotAXII));
|
|||
|
memset(ProjIIKnotAYII, 0, sizeof(ProjIIKnotAYII));
|
|||
|
memset(ProjIIKnotAZII, 0, sizeof(ProjIIKnotAZII));
|
|||
|
|
|||
|
setObjType(E_GEO_3D_OBJ_TYPE_CURVE);
|
|||
|
}
|
|||
|
~Curve()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void clear()
|
|||
|
{
|
|||
|
// if(Name != nullptr)
|
|||
|
// {
|
|||
|
// delete Name;
|
|||
|
// Name = nullptr;
|
|||
|
// }
|
|||
|
// if(Command != nullptr)
|
|||
|
// {
|
|||
|
// delete Command;
|
|||
|
// Command = nullptr;
|
|||
|
// }
|
|||
|
}
|
|||
|
int ID;
|
|||
|
int CmdID;
|
|||
|
// char* Name;
|
|||
|
// char* Command;
|
|||
|
int Visible;
|
|||
|
int Color;
|
|||
|
double Transparency;
|
|||
|
int Type;
|
|||
|
int Src[MAX_ARRAY_SIZE_L]; //依赖源
|
|||
|
//int UsedBy[MAX_ARRAY_SIZE_L]; //被使用,20170501 by czb
|
|||
|
int KnotID[MAX_ARRAY_SIZE_L]; //将节点与依赖分开,20170501 by czb
|
|||
|
|
|||
|
int KnotDir[MAX_ARRAY_SIZE_L];// 结入切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
int KnotDirII[MAX_ARRAY_SIZE_L];// 节点切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
|
|||
|
// 节点切入角序列
|
|||
|
double KnotAX[MAX_ARRAY_SIZE_L] ;
|
|||
|
double KnotAY[MAX_ARRAY_SIZE_L] ;
|
|||
|
double KnotAZ[MAX_ARRAY_SIZE_L] ;
|
|||
|
// 节点切出角序列
|
|||
|
double KnotAXII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double KnotAYII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double KnotAZII[MAX_ARRAY_SIZE_L] ;
|
|||
|
|
|||
|
int ProjIDir;// 投影面I/II方向:0YZ,1XZ,2XY.
|
|||
|
int ProjIIDir;
|
|||
|
//投影面I/II节点个数
|
|||
|
int ProjIKnotCnt;
|
|||
|
int ProjIIKnotCnt;
|
|||
|
// 投影面I节点坐标序列
|
|||
|
double ProjIKnotX[MAX_ARRAY_SIZE_L];
|
|||
|
double ProjIKnotY[MAX_ARRAY_SIZE_L];
|
|||
|
double ProjIKnotZ[MAX_ARRAY_SIZE_L];
|
|||
|
// 投影面II节点坐标序列
|
|||
|
double ProjIIKnotX[MAX_ARRAY_SIZE_L];
|
|||
|
double ProjIIKnotY[MAX_ARRAY_SIZE_L];
|
|||
|
double ProjIIKnotZ[MAX_ARRAY_SIZE_L];
|
|||
|
|
|||
|
//20170501 by czb,新增
|
|||
|
int ProjIKnotDir[MAX_ARRAY_SIZE_L];// 投影面I节点入切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
int ProjIKnotDirII[MAX_ARRAY_SIZE_L];// 投影面I节点切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
int ProjIIKnotDir[MAX_ARRAY_SIZE_L];// 投影面II节点入切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
int ProjIIKnotDirII[MAX_ARRAY_SIZE_L];// 投影面II节点切出方向序列:0角度,1直线切出,2新段分割点,新的edge要添加到wire中.
|
|||
|
|
|||
|
// 投影面I节点切入角序列
|
|||
|
double ProjIKnotAX[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIKnotAY[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIKnotAZ[MAX_ARRAY_SIZE_L] ;
|
|||
|
// 投影面I节点切出角序列
|
|||
|
double ProjIKnotAXII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIKnotAYII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIKnotAZII[MAX_ARRAY_SIZE_L] ;
|
|||
|
|
|||
|
|
|||
|
// 投影面II节点切入角序列
|
|||
|
double ProjIIKnotAX[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIIKnotAY[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIIKnotAZ[MAX_ARRAY_SIZE_L] ;
|
|||
|
// 投影面II节点切出角序列
|
|||
|
double ProjIIKnotAXII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIIKnotAYII[MAX_ARRAY_SIZE_L] ;
|
|||
|
double ProjIIKnotAZII[MAX_ARRAY_SIZE_L] ;
|
|||
|
//20170501 by czb,新增结束
|
|||
|
|
|||
|
double OX;
|
|||
|
double OY;
|
|||
|
double OZ;
|
|||
|
double R1;
|
|||
|
double R2;
|
|||
|
double A1;
|
|||
|
double A2;
|
|||
|
double VX;
|
|||
|
double VY;
|
|||
|
double VZ;
|
|||
|
double P1X;
|
|||
|
double P1Y;
|
|||
|
double P1Z;
|
|||
|
double P2X;
|
|||
|
double P2Y;
|
|||
|
double P2Z;
|
|||
|
bool Full;
|
|||
|
int MirrorDir; // 镜像面方向:1-X, 2-Y, 3-Z
|
|||
|
double MirrorOrgin; // 镜像面位置,与MirrorDir匹配的分量坐标
|
|||
|
double CopyOffsetX; // 复制偏移分量,20170901 新增 by czb
|
|||
|
double CopyOffsetY;// 复制偏移分量
|
|||
|
double CopyOffsetZ;// 复制偏移分量
|
|||
|
};
|
|||
|
|
|||
|
//***面
|
|||
|
struct Surface:public OBJ3D
|
|||
|
{
|
|||
|
public:
|
|||
|
Surface()
|
|||
|
{
|
|||
|
setObjType(E_GEO_3D_OBJ_TYPE_SURFACE);
|
|||
|
}
|
|||
|
int ID;
|
|||
|
int CmdID;
|
|||
|
// char* Name;
|
|||
|
// char* Command;
|
|||
|
int Visible;
|
|||
|
int Color;
|
|||
|
double Transparency;
|
|||
|
int Type;// 类型:0网格,1放样,2扫掠,3旋转,4管道,5球面,10沿Y轴镜像,11拼接,12剪切,13拆分
|
|||
|
int Src[MAX_ARRAY_SIZE_L];
|
|||
|
double OX; // 镜像面:X的位置坐标
|
|||
|
double OY; // 镜像面:Y的位置坐标
|
|||
|
double OZ; // 镜像面:Z的位置坐标
|
|||
|
double PX;
|
|||
|
double PY;
|
|||
|
double PZ;
|
|||
|
double AR;
|
|||
|
int SplitDir;// 拆分结果:0Left,1Right 镜像面:0-X, 1-Y, 2-Z
|
|||
|
double H;
|
|||
|
int MirrorDir; // 镜像面方向:1-X, 2-Y, 3-Z
|
|||
|
double MirrorOrgin; // 镜像面位置,与MirrorDir匹配的分量坐标
|
|||
|
double CopyOffsetX; // 复制偏移分量,20170901 新增 by czb
|
|||
|
double CopyOffsetY;// 复制偏移分量
|
|||
|
double CopyOffsetZ;// 复制偏移分量
|
|||
|
};
|
|||
|
|
|||
|
//***体
|
|||
|
struct Solid:public OBJ3D
|
|||
|
{
|
|||
|
public:
|
|||
|
Solid()
|
|||
|
{
|
|||
|
setObjType(E_GEO_3D_OBJ_TYPE_SOLID);
|
|||
|
}
|
|||
|
int ID;
|
|||
|
int CmdID;
|
|||
|
// char* Name;
|
|||
|
// char* Command;
|
|||
|
int Visible;
|
|||
|
int Color;
|
|||
|
double Transparency;
|
|||
|
int Type; // 类型:0围拢,1扫掠,2旋转,3球,10镜像,12剪切,7体组合,14复制
|
|||
|
int Src[MAX_ARRAY_SIZE_L] ;
|
|||
|
double OX;
|
|||
|
double OY;
|
|||
|
double OZ;
|
|||
|
double PX;
|
|||
|
double PY;
|
|||
|
double PZ;
|
|||
|
double AR;
|
|||
|
double AR1;
|
|||
|
double H;
|
|||
|
double H1;
|
|||
|
double L;
|
|||
|
double B;
|
|||
|
|
|||
|
//20161112 by czb
|
|||
|
int MirrorDir; // 镜像面方向:1-X, 2-Y, 3-Z
|
|||
|
double MirrorOrgin; // 镜像面位置,与MirrorDir匹配的分量坐标
|
|||
|
int BoolMode[MAX_ARRAY_SIZE_L];// 布尔运算方式:0并,1差,2交. 20170801 新增 by czb
|
|||
|
double CopyOffsetX; // 复制偏移分量,20170901 新增 by czb
|
|||
|
double CopyOffsetY;// 复制偏移分量
|
|||
|
double CopyOffsetZ;// 复制偏移分量
|
|||
|
};
|
|||
|
|
|||
|
//***肋骨
|
|||
|
struct Frame
|
|||
|
{
|
|||
|
int ID;
|
|||
|
int Num; //肋位号
|
|||
|
int NumS;
|
|||
|
double Dis; //肋距
|
|||
|
};
|
|||
|
|
|||
|
//***横剖面型线中的型值点
|
|||
|
struct ScPoint2D
|
|||
|
{
|
|||
|
double Y;
|
|||
|
double Z;
|
|||
|
};
|
|||
|
|
|||
|
//***型值表中的型值点
|
|||
|
struct OffsetTablePoint
|
|||
|
{
|
|||
|
double X;
|
|||
|
double Y;
|
|||
|
double Z;
|
|||
|
};
|
|||
|
|
|||
|
//***站
|
|||
|
struct Station
|
|||
|
{
|
|||
|
int ID;
|
|||
|
double Num;//站位号
|
|||
|
double Pos;//站位位置
|
|||
|
};
|
|||
|
|
|||
|
//***水线
|
|||
|
struct WaterlinePos
|
|||
|
{
|
|||
|
int ID;
|
|||
|
char * Num;//水线号
|
|||
|
double Pos;//水线位置
|
|||
|
};
|
|||
|
|
|||
|
//***纵剖线
|
|||
|
struct ButtocklinePos
|
|||
|
{
|
|||
|
int ID;
|
|||
|
char * Num;// 纵剖线号
|
|||
|
double Pos;// 纵剖线位置
|
|||
|
};
|
|||
|
|
|||
|
//***各类图元的显示信息
|
|||
|
struct ModelDisplayOption
|
|||
|
{
|
|||
|
bool ShowName;
|
|||
|
int Color;
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
////***OCC拓扑对象显示参数
|
|||
|
struct OccAisVar
|
|||
|
{
|
|||
|
// ADDED BY XUEFENG 20180731
|
|||
|
// FOR CODES COMBINE
|
|||
|
Quantity_Color color;//颜色
|
|||
|
// END ADDED
|
|||
|
|
|||
|
// DELETE BY XUEFENG 20180731
|
|||
|
// FOR CODES COMBINE
|
|||
|
//AnyCore::ColorValue color;//颜色
|
|||
|
// END DELETE
|
|||
|
//end 2016srq
|
|||
|
|
|||
|
|
|||
|
double transparency;//透明度
|
|||
|
bool visible;//可见性
|
|||
|
bool showName;//是否显示名字
|
|||
|
std::string name;//名字
|
|||
|
};
|
|||
|
|
|||
|
//redo undo数据对象
|
|||
|
struct GeomTopoVar
|
|||
|
{
|
|||
|
std::string name;
|
|||
|
Point3D point;
|
|||
|
Curve curve;
|
|||
|
Surface surface;
|
|||
|
Solid solid;
|
|||
|
MainDeckSurf maindecksurf;
|
|||
|
ShellSurf shellsurf;
|
|||
|
Hull hull;
|
|||
|
DeckSurf decksurf;
|
|||
|
BoundSurf boundsurf;
|
|||
|
SubdivSurf subdivsurf;
|
|||
|
OpenCargoRegion opencargoregion;
|
|||
|
Space space;
|
|||
|
Appendage appendage;
|
|||
|
TopoDS_Shape toposhape;
|
|||
|
};
|
|||
|
//***重命名
|
|||
|
struct RenameObject
|
|||
|
{
|
|||
|
int ID;
|
|||
|
int CmdID;
|
|||
|
char* Name;
|
|||
|
char* Command;
|
|||
|
int Visible;
|
|||
|
int Color;
|
|||
|
double Transparency;
|
|||
|
int Type;
|
|||
|
int Src[MAX_ARRAY_SIZE_L];
|
|||
|
};
|
|||
|
|