#include "manualViewRotationTool.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- manualViewRotationTool::manualViewRotationTool() { } // ---------------------------------------------------------------------------- manualViewRotationTool::~manualViewRotationTool() { } // ---------------------------------------------------------------------------- manualViewRotationTool * manualViewRotationTool :: Clone() { manualViewRotationTool * clone = new manualViewRotationTool(); CopyAttributesTo(clone); return clone; } // --------------------------------------------------------------------------- void manualViewRotationTool::CopyAttributesTo( manualViewRotationTool * cloneObject) { manualViewBaseContour::CopyAttributesTo(cloneObject); } // ---------------------------------------------------------------------------- int manualViewRotationTool::GetType() // virtual { return 8; } // ---------------------------------------------------------------------------- void manualViewRotationTool::GetMinMax(double &minX,double &minY, double &maxX, double &maxY) { manualPoint *mpA,*mpB; unsigned int np; double radio; double difX,difY; np = GetNumberOfPoints( ); if (np==3) { mpA = _manContModel->GetManualPoint(0); mpB = _manContModel->GetManualPoint(1); difX = mpA->GetX() - mpB->GetX(); difY = mpA->GetY() - mpB->GetY(); radio = sqrt( difX*difX + difY*difY ); minX=mpA->GetX()-radio; minY=mpA->GetY()-radio; maxX=mpA->GetX()+radio; maxY=mpA->GetY()+radio; } else { minX=0; maxX=0; minY=0; maxY=0; } } // ---------------------------------------------------------------------------- void manualViewRotationTool::InitMove(int x, int y, int z) // virtual { manualPoint *mp; double XX=x; double YY=y; double ZZ=z; TransfromCoordViewWorld(XX,YY,ZZ); if (_manContModel->GetSizeLstPoints()==3) { mp = _manContModel->GetManualPoint(0); _dp0[0]= mp->GetX() - XX; _dp0[1]= mp->GetY() - YY; _dp0[2]= mp->GetZ(); mp = _manContModel->GetManualPoint(1); _dp1[0]= mp->GetX() - XX; _dp1[1]= mp->GetY() - YY; _dp1[2]= mp->GetZ(); mp = _manContModel->GetManualPoint(2); _dp2[0]= mp->GetX() - XX; _dp2[1]= mp->GetY() - YY; _dp2[2]= mp->GetZ(); } } // ---------------------------------------------------------------------------- void manualViewRotationTool::MoveContour(int x, int y, int z) // virtual { manualPoint *mp; double XX=x; double YY=y; double ZZ=z; TransfromCoordViewWorld(XX,YY,ZZ); mp = _manContModel->GetManualPoint(0); mp->SetPoint(_dp0[0]+XX,_dp0[1]+YY,_dp0[2]); mp = _manContModel->GetManualPoint(1); mp->SetPoint(_dp1[0]+XX,_dp1[1]+YY,_dp0[2]); mp = _manContModel->GetManualPoint(2); mp->SetPoint(_dp2[0]+XX,_dp2[1]+YY,_dp0[2]); UpdateViewPoint(0); UpdateViewPoint(1); UpdateViewPoint(2); }