HOOPS基础培训课程安排 HOOPS几何 相应的计算函数 HOOPS几何图元 与建模内核中的定义不同 HOOPS几何图元的创建 HC_Insert_Polyline HC_Insert_Polygon HC_Insert_Cutting_Plane 练习4:HOOPS几何图元的创建 相应的计算函数 3D坐标 HPoint (float X, float Y, float Z=0.0f) void Set (float X, float Y, float Z=0.0f) void Add (float X, float Y, float Z=0.0f) bool Equal (HPoint *p) const 计算函数的主坐标 HC_Compute_Cross_Product //叉乘 HC_Compute_Dot_Product //点乘 HC_Compute_Normalized_Vector //单位化 可以指定HOOPS坐标左右手系 HC_Set_Handedness HOOPS几何图元 基本图元 HOOPS几何图元 基本图元 HOOPS几何图元 特定的图元 cutting planes lights 与建模内核中的定义不同 即使在术语方面是相同的,但是表达的意思是不同的 在HOOPS中拓扑意味着多边形之间的关系 在HOOPS中使用表面几何来表示3D形体 在HOOPS中壳是指多表面几何 在HOOPS中边/面是所属表面几何的一个元素 HOOPS几何图元的创建 创建 void HC_Insert_XXX(XXX) 在创建的时候得到ID键值 HC_KEY_KInsert_XXX(XXX) 保留模式并不依赖于序列数目 HC_Insert_Polyline 插入Polyline void HC_Insert_Polyline(int count,const HC_POINT * point) count:顶点数目 HC_POINT:定点坐标 HC_Insert_Polygon 插入polygon void Insert_Polygon(int count,const HC_POINT * point) count:顶点数目 HC_POINT:顶点坐标 两部分组成 Edge:连接顶点的多义线 Face:由边所围成的区域 法线依赖于点的排列次序 用于背平面剔除 使用示例:HC_Insert_Polygon HPoint points[5]; points[0].Set(10,10,0); points[1].Set(-10,10,0); points[2].Set(-10,-10,0); points[3].Set(10,-10,0); points[4].Set(10,10,0); HC_Insert_Polygon(5,points); HC_Insert_PolyCylinder 插入多义圆柱体 void Insert_PolyCylinder( int p_count const HC_POINT *pts, int r_count, const float *radii, const char *capping) p_count:中心点的数目 pts:中心点的坐标 r_count:半径的数目 radii:半径列表 capping:字符串指定哪一部分要封闭 适合建议一个用圆进行扫描生成的实体 管道 圆锥 箭头 使用示例:HC_Insert_PolyCylinder HPoint posArray[6]; float fRad[6]; posArray[0].Set(0,0,0); posArray[1].Set(0,0,10); posArray[2] = posArray[1]; posArray[3] = posArray[1]; posArray[4] = posArray[1]; posArray[5].Set(0,0,15); fRad[0] = 5; fRad[1] = 5; fRad[2] = 5; fRad[3] = 8; fRad[4] = 8; fRad[5] = 0; HC_Insert_PolyCylinder(6,posArray,6,fRad,”first”); HC_Insert_Cutting_Plane 插入切平面void Insert_Cutting_Plane(double a, double b, double c, double d); a,b,c,d: 平面方程ax+by+cz+d=0中的参数值,定义了一个平面 所有几何沿切平面法向端的部分被切除 关闭切平面的可
原创力文档

文档评论(0)