本文整理汇总了C++中FPoint::Init方法的典型用法代码示例。如果您正苦于以下问题:C++ FPoint::Init方法的具体用法?C++ FPoint::Init怎么用?C++ FPoint::Init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FPoint
的用法示例。
在下文中一共展示了FPoint::Init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawModel
void DrawModel( const PorousModel& model )
{
const static FPoint radius( 0.5, 0.5, 0.5 );
static Point<long> pnt;
static Point<ulong> sz;
static FPoint center, p;
GLfloat material[3];
COLORREF color;
GLUquadric *q = gluNewQuadric();
sz = model.GetSize();
center.Init( 0.5f*sz.x, 0.5f*sz.y, 0.5f*sz.z );
double volume = double(sz.x)*sz.y*sz.z;
int quality;
if( volume < 1e6 )
quality = 10;
else if ( volume < 1e9 )
quality = 5;
else
quality = 3;
for( pnt.x = 0; pnt.x < long(sz.x); ++pnt.x )
for( pnt.y = 0; pnt.y < long(sz.y); ++pnt.y )
for( pnt.z = 0; pnt.z < long(sz.z); ++pnt.z )
if( model.GetCellColor( pnt, &color ) )
{
material[0] = float(GetRValue(color))/0xFF;
material[1] = float(GetGValue(color))/0xFF;
material[2] = float(GetBValue(color))/0xFF;
glMaterialfv( GL_FRONT, GL_DIFFUSE, material );
copy_vector( p, pnt );
p += radius;
p -= center;
glTranslatef( p.x, -p.z, -p.y );
gluSphere( q, 0.7, quality, quality );
glTranslatef( -p.x, p.z, p.y );
}
//material[0] = material[1] = 1.0f;
//material[2] = 0.0f;
//glMaterialfv( GL_FRONT, GL_DIFFUSE, material );
//glTranslatef( -sz.x/5, sz.z/5, 0 );
//gluSphere( q, 1, 10, 10 );
//glTranslatef( sz.x/5, -sz.z/5, 0 );
//gluDeleteQuadric( q );
}