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.




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.createNull, 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)  
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  
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  
uvFractionToPointAndTangents(uFraction: number, vFraction: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Evaluate a point tangent plane on the Cone surfaces, with  
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  

Inherited methods

Name Inherited from Description
range(transform?: Transform, result?: Range3d.createNull): Range3d.createNull 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
areAlmostEqual(a: GeometryQuery | undefined, b: GeometryQuery | undefined): boolean Static GeometryQuery apply instance method isAlmostEqual if both are defined.


Name Type Description
isClosedVolume Accessor ReadOnly boolean    
solidPrimitiveType "cone" = "cone" String name for schema properties  

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 Whether 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 String name for schema properties

Defined in

Last Updated: 06 October, 2021