本帖最后由 Jorin 于 2016-1-18 00:59 编辑
BoxMapping 并不是 TextureMapping 的子类,它仅仅是一个枚举而已,所以你无法从 BoxMapping 提取任何你想要的数据。
TextureMapping 对象有一个 TryGetMappingBox 方法,如果这个 TextureMapping 确实是以 BoxMapping 方式构造的,就可以提取出相关数据。
示例如下:
我先创建了一个 TextureMapping 对象,然后用 TryGetMappingBox 方法测试我输入的数据能否被提取出来。
- Rhino.Render.TextureMapping mapping = Rhino.Render.TextureMapping.CreateBoxMapping(Rhino.Geometry.Plane.WorldXY, a, b, c, true);
- Rhino.Geometry.Plane plane;
- Rhino.Geometry.Interval Ix,Iy,Iz;
- mapping.TryGetMappingBox(out plane, out Ix, out Iy, out Iz);
- A = mapping;
- x = Ix;
- y = Iy;
- z = Iz;
复制代码
测试结果表明,TryGetMappingBox 方法能够获得数据,但值得注意的是,不论输入什么样的范围,得到的范围都是平均分配与 0 左右的
|