class Piece //块
{
int yc; //隐藏属性,为1隐藏,为0显示
int sx; //块属性0五边形,1菱形,2梯形,3正常角块,4正常棱块,5移棱角块,6移棱棱块
int ms; //面数
int ds; //点数
int ls; //棱数
Point3d [] p; //存放点的数组
int [][] leng; //存放棱的数组,一个棱3个号码,第一个起点号,第二个终点号
//如果第三个是-1,棱是直线,否则棱是圆弧,它是圆弧的中心点号
Face [] face; //存放面的数组
};
class Point3d //3D点
{
double x;
double y;
double z;
};
class Face //块中面
{
int bs; //边数
int c; //颜色号
int mian; //所属的大面号,大于0为具体面,0为塑料,没有属于任何面
int sx; //属性,为0是平面,不为0为球面,如是正整数减1为球面中心点序号,凸面向外;如是负整数绝对值减1为球面中心点序号,凹面向外
double ld; //亮度
int [] edge; //存放面的边的数组,实际是块的棱,大于0正向边,小于0负向边,绝对值减1是棱在块结构中棱数组中的序号
};
class Su**ce //曲面方程
{
int sx; //属性,0---平面,1球面
//平面:ax+bx+cx=d;球面:(x-a)2+(y-b)2+(z-c)2=d2
double a;
double b;
double c;
double d; //如果球面,d<0,表示球面外是物体内部
};