![]() |
问个函数getmodeltoeyetransform
问个函数getmodeltoeyetransform
问个函数getmodeltoeyetransform //下面是自定义实体实现父类虚函数的方法 asdkcoordsamp::viewportdraw(acgiviewportdraw* pv) { pv->subentitytraits().setfilltype(kacgifillalways); const int count = 3; acgepoint3d verts[count]; verts[0] = acgepoint3d(0.0, 0.0, 0.0); verts[1] = acgepoint3d(1.0, 0.0, 0.0); verts[2] = acgepoint3d(1.0, 1.0, 0.0); // draw model space line segment. // pv->subentitytraits().setcolor(kblue); pv->geometry().polygon(count, verts); // compute its representation in eye space. // acgematrix3d mat; pv->viewport().getmodeltoeyetransform(mat); for (int i = 0; i < count; i++) { verts[i].x += 0.01; verts[i].y += 0.01; verts[i].z += 0.01; verts[i].transformby(mat); } // display the eye coordinate equivalent of the // model space polygon. // pv->subentitytraits().setcolor(kgreen); pv->geometry().polygoneye(count, verts); // convert from eye to display coordinates. // for (int i = 0; i < count; i++) { verts[i].x += 0.01; verts[i].y += 0.01; verts[i].z += 0.01; //verts[i].transformby(mat); } // draw the display space equivalent of the // model space polygon. // pv->subentitytraits().setcolor(kred); pv->geometry().polygondc(count, verts); } 复制代码 上面的代码中下面两句起什么作用?getmodeltoeyetransform()谁能给出详解。 pv->viewport().getmodeltoeyetransform(mat); verts.transformby(mat); 我感觉是在控制视图的 去掉后动待观察 图形位置有变,具体请达人解决 |
| 所有的时间均为北京时间。 现在的时间是 11:52 PM. |