本文整理汇总了C++中CBox::Corner方法的典型用法代码示例。如果您正苦于以下问题:C++ CBox::Corner方法的具体用法?C++ CBox::Corner怎么用?C++ CBox::Corner使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBox
的用法示例。
在下文中一共展示了CBox::Corner方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
CPolygon::CPolygon( CModelSurface *surface,const CPlane &plane,const CBox &box ):
_surface(surface),
_plane(plane){
CVec3 v[4];
if( fabs(plane.n.x)>fabs(plane.n.y) && fabs(plane.n.x)>fabs(plane.n.z) ){
if( plane.n.x>0 ){
v[0]=box.Corner(3);v[1]=box.Corner(7);v[2]=box.Corner(5);v[3]=box.Corner(1);
}else{
v[0]=box.Corner(6);v[1]=box.Corner(2);v[2]=box.Corner(0);v[3]=box.Corner(4);
}
for( int i=0;i<4;++i ) v[i].x=plane.SolveX( v[i].y,v[i].z );
}else if( fabs(plane.n.y)>fabs(plane.n.z) ){
if( plane.n.y>0 ){
v[0]=box.Corner(6);v[1]=box.Corner(7);v[2]=box.Corner(3);v[3]=box.Corner(2);
}else{
v[0]=box.Corner(0);v[1]=box.Corner(1);v[2]=box.Corner(5);v[3]=box.Corner(4);
}
for( int i=0;i<4;++i ) v[i].y=plane.SolveY( v[i].x,v[i].z );
}else{
if( plane.n.z>0 ){
v[0]=box.Corner(7);v[1]=box.Corner(6);v[2]=box.Corner(4);v[3]=box.Corner(5);
}else{
v[0]=box.Corner(2);v[1]=box.Corner(3);v[2]=box.Corner(1);v[3]=box.Corner(0);
}
for( int i=0;i<4;++i ) v[i].z=plane.SolveZ( v[i].x,v[i].y );
}
for( int i=0;i<4;++i ){
CVertex tv=CVertex( v[i] );
AddVertex( tv );
}
}