1 #ifndef Geom_Cylinder_H
2 #define Geom_Cylinder_H
21 template <
typename... Args>
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
Plane fastTangent(const LocalPoint &aPoint) const
tangent plane to surface from local point
ReferenceCountingPointer< Cylinder > BoundCylinderPointer
const Bounds & bounds() const
virtual Side side(const LocalPoint &p, Scalar tolerance=0) const =0
Plane fastTangent(const GlobalPoint &aPoint) const
tangent plane to surface from global point
ConstReferenceCountingPointer< Cylinder > ConstBoundCylinderPointer
virtual float thickness() const =0
static CylinderPointer build(Scalar radius, const PositionType &pos, const RotationType &rot, Bounds *bounds=nullptr)
Cylinder(Scalar radius, Args &&...args)
Scalar radius() const
Radius of the cylinder.
ConstReferenceCountingPointer< TangentPlane > tangentPlane(const GlobalPoint &) const override
tangent plane to surface from global point
Cylinder(const PositionType &pos, const RotationType &rot, SimpleCylinderBounds const &bounds)
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=nullptr)
ConstReferenceCountingPointer< Cylinder > ConstCylinderPointer
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Side side(const LocalPoint &p, Scalar toler) const override
static float computeRadius(Bounds const &bounds)
TkRotation< float > RotationType
const RotationType & rotation() const
SurfaceOrientation::Side Side
virtual float width() const =0
const PositionType & position() const
ReferenceCountingPointer< Cylinder > CylinderPointer