/usr/include/oce/Select3D_Projector.lxx is in liboce-visualization-dev 0.9.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | // File: Select3D_Projector.lxx
// Created: Thu Jul 9 12:50:25 1992
// Author: Christophe MARION
// <cma@sdsun1>
#include <Standard_NoSuchObject.hxx>
#include <gp_Vec.hxx>
#include <gp_Pnt.hxx>
#include <gp_Lin.hxx>
#include <V3d_View.hxx>
#include <V3d.hxx>
//=======================================================================
//function : Directions
//purpose :
//=======================================================================
inline void Select3D_Projector::Directions
(gp_Vec2d& D1, gp_Vec2d& D2, gp_Vec2d& D3) const
{
D1 = myD1;
D2 = myD2;
D3 = myD3;
}
//=======================================================================
//function : Perspective
//purpose :
//=======================================================================
inline Standard_Boolean Select3D_Projector::Perspective() const
{ return myPersp; }
//=======================================================================
//function : Transformation
//purpose :
//=======================================================================
inline const gp_GTrsf& Select3D_Projector::Transformation() const
{ return myGTrsf; }
//=======================================================================
//function : InvertedTransformation
//purpose :
//=======================================================================
inline const gp_GTrsf& Select3D_Projector::InvertedTransformation() const
{ return myInvTrsf; }
//=======================================================================
//function : FullTransformation
//purpose :
//=======================================================================
inline const gp_Trsf& Select3D_Projector::FullTransformation() const
{ return myScaledTrsf; }
//=======================================================================
//function : Focus
//purpose :
//=======================================================================
inline Standard_Real Select3D_Projector::Focus() const
{
Standard_NoSuchObject_Raise_if(!myPersp,
"Select3D_Projector::Not a Perpective");
return myFocus;
}
//=======================================================================
//function : Transform
//purpose :
//=======================================================================
inline void Select3D_Projector::Transform (gp_Vec& D) const
{
gp_XYZ coord = D.XYZ();
if (myGTrsf.Form() == gp_Identity || myGTrsf.Form() == gp_Translation) { }
else if (myGTrsf.Form() == gp_PntMirror) { coord.Reverse(); }
else { coord.Multiply (myGTrsf.VectorialPart()); }
D.SetXYZ(coord);
}
//=======================================================================
//function : Transform
//purpose :
//=======================================================================
inline void Select3D_Projector::Transform (gp_Pnt& Pnt) const
{
gp_XYZ xyz = Pnt.XYZ();
myGTrsf.Transforms(xyz);
Pnt = gp_Pnt(xyz);
}
inline const Handle(V3d_View)& Select3D_Projector::View() const
{return myView;}
inline void Select3D_Projector::Transform (gp_Lin& Lin, const gp_GTrsf& T) const
{
gp_Ax1 ax1 = Lin.Position();
gp_XYZ xyz = ax1.Location().XYZ();
T.Transforms(xyz);
ax1.SetLocation(gp_Pnt(xyz));
gp_Dir dir = ax1.Direction();
gp_XYZ coord = dir.XYZ();
if (T.Form() == gp_Identity || T.Form() == gp_Translation) { }
else if (T.Form() == gp_PntMirror) { coord.Reverse(); }
else {
coord.Multiply (T.VectorialPart());
Standard_Real D = coord.Modulus();
coord.Divide(D);
}
dir.SetXYZ(coord);
ax1.SetDirection(dir);
Lin.SetPosition(ax1);
}
inline void Select3D_Projector::Transform (gp_Pnt& Pnt, const gp_GTrsf& T) const
{
gp_XYZ xyz = Pnt.XYZ();
T.Transforms(xyz);
Pnt = gp_Pnt(xyz);
}
inline Standard_Real Select3D_Projector::DepthMin() const
{
return myDepthMin;
}
inline Standard_Real Select3D_Projector::DepthMax() const
{
return myDepthMax;
}
|