//File gp_Cylinder.lxx #include inline gp_Cylinder::gp_Cylinder () { radius = RealLast(); } inline gp_Cylinder::gp_Cylinder (const gp_Ax3& A3, const Standard_Real Radius) : pos(A3), radius (Radius) { Standard_ConstructionError_Raise_if (Radius < 0.0,""); } inline void gp_Cylinder::SetAxis (const gp_Ax1& A1) { pos.SetAxis (A1); } inline void gp_Cylinder::SetLocation (const gp_Pnt& Loc) { pos.SetLocation (Loc); } inline void gp_Cylinder::SetPosition (const gp_Ax3& A3) { pos = A3; } inline void gp_Cylinder::SetRadius (const Standard_Real R) { Standard_ConstructionError_Raise_if (R < 0.0,""); radius = R; } inline void gp_Cylinder::UReverse() { pos.YReverse(); } inline void gp_Cylinder::VReverse() { pos.ZReverse(); } inline Standard_Boolean gp_Cylinder::Direct() const { return pos.Direct(); } inline const gp_Ax1& gp_Cylinder::Axis () const { return pos.Axis(); } inline const gp_Pnt& gp_Cylinder::Location () const { return pos.Location(); } inline const gp_Ax3& gp_Cylinder::Position () const { return pos; } inline Standard_Real gp_Cylinder::Radius () const { return radius; } inline gp_Ax1 gp_Cylinder::XAxis () const {return gp_Ax1(pos.Location(), pos.XDirection());} inline gp_Ax1 gp_Cylinder::YAxis () const {return gp_Ax1(pos.Location(), pos.YDirection());} inline void gp_Cylinder::Rotate (const gp_Ax1& A1, const Standard_Real Ang) {pos.Rotate(A1,Ang);} inline gp_Cylinder gp_Cylinder::Rotated (const gp_Ax1& A1, const Standard_Real Ang) const { gp_Cylinder C = *this; C.pos.Rotate (A1, Ang); return C; } inline void gp_Cylinder::Scale (const gp_Pnt& P, const Standard_Real S) { pos.Scale (P, S); radius *= S; if (radius < 0) radius = - radius; } inline gp_Cylinder gp_Cylinder::Scaled (const gp_Pnt& P, const Standard_Real S) const { gp_Cylinder C = *this; C.pos.Scale (P, S); C.radius *= S; if (C.radius < 0) C.radius = - C.radius; return C; } inline void gp_Cylinder::Transform (const gp_Trsf& T) { pos.Transform (T); radius *= T.ScaleFactor(); if (radius < 0) radius = - radius; } inline gp_Cylinder gp_Cylinder::Transformed (const gp_Trsf& T) const { gp_Cylinder C = *this; C.pos.Transform (T); C.radius *= T.ScaleFactor(); if (C.radius < 0) C.radius = - C.radius; return C; } inline void gp_Cylinder::Translate (const gp_Vec& V) { pos.Translate (V); } inline gp_Cylinder gp_Cylinder::Translated (const gp_Vec& V) const { gp_Cylinder C = *this; C.pos.Translate (V); return C; } inline void gp_Cylinder::Translate (const gp_Pnt& P1, const gp_Pnt& P2) { pos.Translate (P1, P2); } inline gp_Cylinder gp_Cylinder::Translated (const gp_Pnt& P1, const gp_Pnt& P2) const { gp_Cylinder C = *this; C.pos.Translate (P1, P2); return C; }