本文整理汇总了C++中Point2d::isDegenerate方法的典型用法代码示例。如果您正苦于以下问题:C++ Point2d::isDegenerate方法的具体用法?C++ Point2d::isDegenerate怎么用?C++ Point2d::isDegenerate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Point2d
的用法示例。
在下文中一共展示了Point2d::isDegenerate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
Matrix2d Matrix2d::transformWith2P(const Point2d& from1, const Point2d& from2,
const Point2d& to1, const Point2d& to2)
{
if (from1 == from2 || to1 == to2
|| from1.isDegenerate() || from2.isDegenerate() || to1.isDegenerate() || to2.isDegenerate()) {
return Matrix2d::kIdentity();
}
return (translation(to1 - from1)
* scaling(to2.distanceTo(to1) / from2.distanceTo(from1), to1)
* rotation((to2 - to1).angle2() - (from2 - from1).angle2(), to1));
}
示例2: drawHandle
bool GiGraphics::drawHandle(const Point2d& pnt, int type, float angle, bool modelUnit)
{
if (m_impl->canvas && type >= 0 && !m_impl->stopping && !pnt.isDegenerate()) {
Point2d ptd(pnt * S2D(xf(), modelUnit));
return m_impl->canvas->drawHandle(ptd.x, ptd.y, type, angle);
}
return false;
}
示例3: drawTextAt
float GiGraphics::drawTextAt(GiTextWidthCallback* c, int argb, const char* text, const Point2d& pnt, float h, int align, float angle)
{
float ret = 0;
if (m_impl->canvas && text && h > 0 && !m_impl->stopping && !pnt.isDegenerate()) {
Point2d ptd(pnt * xf().modelToDisplay());
float w2d = xf().getWorldToDisplayY(h < 0);
h = fabsf(h) * w2d;
if (!mgIsZero(angle)) {
angle = (Vector2d::angledVector(angle, 1) * xf().modelToWorld()).angle2();
}
GiContext ctx;
ctx.setFillARGB(argb ? argb : 0xFF000000);
if (setBrush(&ctx)) {
TextWidthCallback1 *cw = c ? new TextWidthCallback1(c, w2d) : (TextWidthCallback1 *)0;
ret = m_impl->canvas->drawTextAt(cw, text, ptd.x, ptd.y, h, align, angle) / w2d;
}
}
return ret;
}