本文整理汇总了C++中ImpressionistDoc::getDirAngle方法的典型用法代码示例。如果您正苦于以下问题:C++ ImpressionistDoc::getDirAngle方法的具体用法?C++ ImpressionistDoc::getDirAngle怎么用?C++ ImpressionistDoc::getDirAngle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImpressionistDoc
的用法示例。
在下文中一共展示了ImpressionistDoc::getDirAngle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BrushMove
void ScatteredPointBrush::BrushMove( const Point source, const Point target )
{
ImpressionistDoc* pDoc = GetDocument();
ImpressionistUI* dlg=pDoc->m_pUI;
if ( pDoc == NULL ) {
printf( "PointBrush::BrushMove document is NULL\n" );
return;
}
int size = pDoc->getSize();
float alpha = pDoc->getAlpha();
int angle = pDoc->getAngle();
if(dlg->getDirMode()==1)
angle = pDoc->getDirAngle();
float cos_angle,sin_angle;
float rad_angle = (angle*PI)/180;
cos_angle = cos(-rad_angle);
sin_angle = sin(-rad_angle);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
float orig_x,orig_y,x,y;
SetColor( source, alpha );
glBegin( GL_POINTS );
for(int i = 0;i<0.05*size*size;i++)
while(true){
orig_x=-(size/2)+size*frand();
orig_y=-(size/2)+size*frand();
x = orig_x*cos_angle-orig_y*sin_angle;
y = orig_x*sin_angle+orig_y*cos_angle;
glVertex2d( target.x+x, target.y+y );
break;
}
glEnd();
}