1 #ifndef Geom_Cylinder_H
2 #define Geom_Cylinder_H
22 template<
typename...
Args>
27 Surface(pos,rot, bounds.
clone()), theRadius(computeRadius(bounds)){}
88 return fastTangent(toGlobal(aPoint));
TkRotation< Scalar > RotationType
ReferenceCountingPointer< Cylinder > CylinderPointer
GloballyPositioned< float >::GlobalPoint GlobalPoint
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=0)
Plane fastTangent(const LocalPoint &aPoint) const
tangent plane to surface from local point
virtual Side side(const LocalPoint &p, Scalar tolerance=0) const =0
static int position[TOTALCHAMBERS][3]
static float computeRadius(Bounds const &bounds)
Scalar radius() const
Radius of the cylinder.
Point3DBase< Scalar, GlobalTag > PositionType
virtual float thickness() const =0
Plane fastTangent(const GlobalPoint &aPoint) const
tangent plane to surface from global point
Cylinder(Scalar radius, Args &&...args)
Cylinder(const PositionType &pos, const RotationType &rot, SimpleCylinderBounds const &bounds)
ConstReferenceCountingPointer< Cylinder > ConstBoundCylinderPointer
GloballyPositioned< float >::GlobalVector GlobalVector
ReferenceCountingPointer< Cylinder > BoundCylinderPointer
virtual float width() const =0
static CylinderPointer build(Scalar radius, const PositionType &pos, const RotationType &rot, Bounds *bounds=0)
ConstReferenceCountingPointer< Cylinder > ConstCylinderPointer
Unlimited (trivial) bounds.