Cone Class

A cone with axis along the z axis of a (possibly skewed) local coordinate system.

  • In local coordinates, the sections at z=0 and z=1 are circles of radius r0 and r1.
  • Either one individually may be zero, but they may not both be zero.
  • The stored matrix has unit vectors in the xy columns, and full-length z column.

Extends

Implements

Methods

Name Description
constructor(map: Transform, radiusA: number, radiusB: number, capped: boolean): Cone Protected    
clone(): Cone Return a clone of this Cone.  
cloneTransformed(transform: Transform): Cone | undefined Create a clone and immediately transform the clone.  
constantVSection(vFraction: number): CurveCollection | undefined Return the Arc3d section at vFraction  
dispatchToGeometryHandler(handler: GeometryHandler): any Second step of double dispatch: call handler.handleCone(this)  
extendRange(rangeToExtend: Range3d, transform?: Transform): void Extend rangeToExtend so it includes this Cone instance.  
getCenterA(): Point3d (Property accessor) Return the center point at the base plane  
getCenterB(): Point3d (Property accessor)  
getConstructiveFrame(): Transform | undefined Return a coordinate frame (right handed unit vectors)
* origin at center of the base circle.
 
getMaxRadius(): number (Property accessor) return the larger of the base and top plane radii  
getRadiusA(): number (Property accessor) return the radius at the base plane  
getRadiusB(): number (Property accessor) return the radius at the top plane  
getVectorX(): Vector3d (Property accessor) Return the x vector in the local frame  
getVectorY(): Vector3d (Property accessor) Return the y vector in the local frame  
isAlmostEqual(other: GeometryQuery): boolean (Property accessor) Test for nearly equal coordinate data.  
isSameGeometryClass(other: any): boolean (Property accessor) test if other is an instance of Cone  
maxIsoParametricDistance(): Vector2d Directional distance query
* u direction is around longitude circle at maximum distance from axis.
 
strokeConstantVSection(v: number, fixedStrokeCount: number | undefined, options: StrokeOptions | undefined): LineString3d return strokes for a cross-section (elliptic arc) at specified fraction v along the axis.  
tryTransformInPlace(transform: Transform): boolean Apply the transform to this cone's locla to world coordinates.  
uvFractionToPoint(uFraction: number, vFraction: number, result?: Point3d): Point3d Evaluate a point on the Cone surfaces, with
* v = 0 is the base plane.
 
uvFractionToPointAndTangents(uFraction: number, vFraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Evaluate a point tangent plane on the Cone surfaces, with
* v = 0 is the base plane.
 
vFractionToRadius(v: number): number (Property accessor) return the radius at fraction v along the axis  
createAxisPoints(centerA: Point3d, centerB: Point3d, radiusA: number, radiusB: number, capped: boolean): Cone | undefined Static create a cylinder or cone from two endpoints and their radii.  
createBaseAndTarget(centerA: Point3d, centerB: Point3d, vectorX: Vector3d, vectorY: Vector3d, radiusA: number, radiusB: number, capped: boolean): Cone Static create a cylinder or cone from axis start and end with cross section defined by vectors that do not need to be perpendicular to each other or
to the axis.
 

Inherited methods

Name Inherited from Description
range(transform?: Transform, result?: Range3d): Range3d GeometryQuery return the range of the entire (tree) GeometryQuery
tryTranslateInPlace(dx: number, dy: number = 0, dz: number = 0): boolean GeometryQuery try to move the geometry by dx,dy,dz

Properties

Name Type Description
isClosedVolume Accessor ReadOnly boolean    
solidPrimitiveType "cone" = "cone"    

Inherited properties

Name Type Inherited from Description
_capped Protected boolean SolidPrimitive flag indicating whether cap region is considered closed (i.e.
capped Accessor boolean SolidPrimitive Ask if this is a capped solid
children Accessor ReadOnly GeometryQuery[] | undefined GeometryQuery return GeometryQuery children for recursive queries.

* leaf classes do not need to implement.
geometryCategory "solid" = "solid" SolidPrimitive  

Defined in

Last Updated: 20 September, 2019