if (Start)
{
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
// rotate camera around 3 initial axes
- gp_Dir aBackDir (gp_Vec (myCamStartOpCenter, myCamStartOpEye));
+ gp_Dir aBackDir = -myCamStartOpDir;
gp_Dir aXAxis (myCamStartOpUp.Crossed (aBackDir));
gp_Dir aYAxis (aBackDir.Crossed (aXAxis));
gp_Dir aZAxis (aXAxis.Crossed (aYAxis));
{
myGravityReferencePoint.SetCoord (X, Y, Z);
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
const Graphic3d_Vertex& aVref = myGravityReferencePoint;
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
// rotate camera around 3 initial axes
gp_Pnt aRCenter (aVref.X(), aVref.Y(), aVref.Z());
{
myGravityReferencePoint.SetCoord (theX, theY, theZ);
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
-
switch (theAxe)
{
case V3d_X: myViewAxis = gp::DX(); break;
case V3d_Y: myViewAxis = gp::DY(); break;
case V3d_Z: myViewAxis = gp::DZ(); break;
}
-
- myCamStartOpUp = aCamera->Up();
- myCamStartOpEye = aCamera->Eye();
- myCamStartOpCenter = aCamera->Center();
}
const Graphic3d_Vertex& aVref = myGravityReferencePoint;
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
// rotate camera around passed axis
gp_Trsf aRotation;
Handle(Graphic3d_Camera) aCamera = Camera();
- if( Start ) {
+ if (Start)
+ {
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
gp_Trsf aRotation;
gp_Pnt aRCenter (myDefaultViewPoint);
Handle(Graphic3d_Camera) aCamera = Camera();
- if( Start ) {
+ if (Start)
+ {
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
// rotate camera around 3 initial axes
gp_Pnt aRCenter = aCamera->Eye();
Handle(Graphic3d_Camera) aCamera = Camera();
- if( Start ) {
+ if (Start)
+ {
myCamStartOpUp = aCamera->Up();
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
- aCamera->SetUp (myCamStartOpUp);
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetUp (myCamStartOpUp);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
gp_Trsf aRotation;
gp_Pnt aRCenter = aCamera->Eye();
const Handle(Graphic3d_Camera)& aCamera = Camera();
const gp_Pnt anOriginVCS = aCamera->ConvertWorld2View (gp::Origin());
- aCamera->SetCenter (gp_Pnt (0, 0, 0));
- aCamera->SetDirection (gp_Dir (aBck.X(), aBck.Y(), aBck.Z()).Reversed());
+ const Standard_Real aNewDist = aCamera->Eye().Distance (gp_Pnt (0, 0, 0));
+ aCamera->SetEyeAndCenter (gp_XYZ (0, 0, 0) + aBck.XYZ() * aNewDist,
+ gp_XYZ (0, 0, 0));
+ aCamera->SetDirectionFromEye (-aBck);
aCamera->SetUp (gp_Dir (anUp.x(), anUp.y(), anUp.z()));
aCamera->OrthogonalizeUp();
if (theToStart)
{
+ myCamStartOpDir = aCamera->Direction();
myCamStartOpEye = aCamera->Eye();
myCamStartOpCenter = aCamera->Center();
}
gp_Pnt aViewDims = aCamera->ViewDimensions();
- aCamera->SetEye (myCamStartOpEye);
- aCamera->SetCenter (myCamStartOpCenter);
+ aCamera->SetEyeAndCenter (myCamStartOpEye, myCamStartOpCenter);
+ aCamera->SetDirectionFromEye (myCamStartOpDir);
Translate (aCamera, -theDXv, -theDYv);
Scale (aCamera, aViewDims.X() / theZoomFactor, aViewDims.Y() / theZoomFactor);