本文整理汇总了C++中DebugDraw::DrawFlatPolygon方法的典型用法代码示例。如果您正苦于以下问题:C++ DebugDraw::DrawFlatPolygon方法的具体用法?C++ DebugDraw::DrawFlatPolygon怎么用?C++ DebugDraw::DrawFlatPolygon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DebugDraw
的用法示例。
在下文中一共展示了DebugDraw::DrawFlatPolygon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawArrow
// Draw a colored arrow rotated by angle, scaled by scale and at
// the viewport relative position using DebugDraw.
// With no transformation matrix applied, the arrow is drawn in box
// area (3.5f, 3.5f) (see Arrow::k_size) and the overall bounding box
// of the arrow is (-1.75f, -1.75f) to (1.75f, 1.75f).
void Arrow::DrawArrow(const b2Color &color, const float32 angle,
const float32 scale, const b2Vec2 &position)
{
static const b2Vec2 square[] =
{
b2Vec2(0.25f, 1.0f), b2Vec2(0.25f, -1.0f),
b2Vec2(-1.75f, -1.0f), b2Vec2(-1.75f, 1.0f)
};
static const b2Vec2 triangle[] =
{
b2Vec2(0.25f, 1.75f), b2Vec2(1.75f, 0.0f),
b2Vec2(0.25f, -1.75f)
};
// Build the transformation matrix.
glPushMatrix();
glTranslatef(position.x, position.y, 0.0f);
glRotatef(angle, 0.0f, 0.0f, 1.0f);
glScalef(scale, scale, 1.0f);
// Draw the arrow.
DebugDraw dbgDraw;
dbgDraw.DrawFlatPolygon(square, B2_ARRAY_SIZE(square), color);
dbgDraw.DrawFlatPolygon(triangle, B2_ARRAY_SIZE(triangle), color);
glPopMatrix();
}