本文整理汇总了C++中HeeksObj::GetEndPoint方法的典型用法代码示例。如果您正苦于以下问题:C++ HeeksObj::GetEndPoint方法的具体用法?C++ HeeksObj::GetEndPoint怎么用?C++ HeeksObj::GetEndPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HeeksObj
的用法示例。
在下文中一共展示了HeeksObj::GetEndPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetArea
double CSketch::GetArea()const
{
double area = 0.0;
for(std::list<HeeksObj*>::const_iterator It=m_objects.begin(); It!=m_objects.end() ;It++)
{
HeeksObj* object = *It;
switch(object->GetType())
{
case ArcType:
{
double angle = ((HArc*)object)->IncludedAngle();
double radius = ((HArc*)object)->m_radius;
double p0x = ((HArc*)object)->A->m_p.X();
double p0y = ((HArc*)object)->A->m_p.Y();
double p1x = ((HArc*)object)->B->m_p.X();
double p1y = ((HArc*)object)->B->m_p.Y();
double pcx = ((HArc*)object)->C->m_p.X();
double pcy = ((HArc*)object)->C->m_p.Y();
area += ( 0.5 * ((pcx - p0x) * (pcy + p0y) - (pcx - p1x) * (pcy + p1y) - angle * radius * radius));
}
break;
default:
// treat all others as lines
{
double s[3], e[3];
if(!object->GetStartPoint(s))break;
if(!object->GetEndPoint(e))break;
area += (0.5 * (e[0] - s[0]) * (s[1] + e[1]));
}
break;
}
}
return area;
}