Exemple #1
0
	float32 Rect::GetRealRight() const
	{
		float32 realRight(m_RightTop.x);
		realRight = realRight < m_LeftBottom.x ? m_LeftBottom.x : realRight;
		realRight = realRight < m_RightBottom.x ? m_RightBottom.x : realRight;
		realRight = realRight < m_LeftTop.x ? m_LeftTop.x : realRight;
		return realRight;
	}
void
AsdkSmiley::setMouth( const AcGePoint3d& left, const AcGePoint3d& bottom, const AcGePoint3d& right )
{
    assertWriteEnabled();
    AcGePoint3d realLeft( left ), realBottom( bottom ), realRight( right );

    double topY = center()[Y] + eyesHeight() - eyeSize();
    double diff = 0.0;

    if (( left[Y] - topY ) > diff ){
        diff = left[Y] - topY;
    }
    if (( bottom[Y] - topY ) > diff ){
        diff = bottom[Y] - topY;
    }
    if (( right[Y] - topY ) > diff ){
        diff = right[Y] - topY;
    }
    
    AcGeVector3d vec( 0, diff, 0 );
    mmoutharc.set( realLeft - vec, realBottom - vec, realRight - vec );
    recordGraphicsModified();
}