All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Interface CATCone

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---GeometricObjects.CATICGMUnknown
        |
        +---GeometricObjects.CATICGMObject
          |
          +---GeometricObjects.CATGeometry
            |
            +---GeometricObjects.CATSurface
              |
              +---GeometricObjects.CATElementarySurface
                |
                +---CATCone
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATCone

Interface representing a geometric cone.

The CATCone is created by the CreateCone method of the CATGeoFactory interface and deleted with the Remove method.
It is defined with:
CATMathAxis Axis The (O,X,Y,Z) axes system, whose third Z direction is the cone direction
double StartRadius The circle radius on the plane (O,X,Y)
CATAngle ConeAngle The external angle between the cone and the (O,X,Z) plane intersection, and the (O,X,Y) plane
CATAngle StartAngle The low limitation of the circle arc, measured from the axis first direction.
CATAngle EndAngle The high limitation of the circle arc, measured from the axis first direction.
double StartRuleLength The low limitation of the cone length, measured on the third direction.
double EndRuleLength The high limitation of the cone length, measured on the third direction.
Notice that 0 < ConeAngle < Pi/2 and StartRuleLength < EndRuleLength , 0 <= StartAngle < 2*Pi, StartAngle < EndAngle <= 2*Pi. StartRuleLength and EndRuleLength may be negative if they do not exceed the Z abscissa of the cone apex.
The CATCone is parameterized by the arc length (first direction U) of the mean circular section and the chord length (second direction V) along a ruling.

 C(U,V) = Origin +
  (StartRadius + L * cos(ConeAngle))*(cos(theta)*OX + sin(theta)*OY)
  +  L * sin(ConeAngle) * OZ 
  where U = UScale * theta and L is the rule-length, L = LenScale*V.


Method Index


o GetApex(CATMathPoint&)
Returns the apex of this CATCone.
o GetConeAngle()
Returns the angle of this CATCone.
o GetEndAngle()
Returns the high limitation of the circle arc of this CATCone.
o GetEndRuleLength()
Returns the high limitation of the length of this CATCone.
o GetRadiusAtV(double)
Returns the radius of the circular cross-section of this cone at the input V-value.
o GetSemiAngle()
Returns the angle between this cone and its axis third direction.
o GetStartAngle()
Returns the low limitation of the circle arc of this CATCone.
o GetStartRadius()
Returns the radius in the definition plane of this CATCone.
o GetStartRuleLength()
Returns the low limitation of the length of this CATCone.
o GetUScale()
Retrieves the scale on the circular direction of this CATCone.
o GetVScale()
Retrieves the scale along the rule-lines of this CATCone.
o GetVShift()
Retrieves the shift along the rule-lines of this CATCone.
o SetUScale(double)
Modifies the scale on the circular direction of this CATCone.
o SetVScale(double)
Modifies the scale along the rule-lines of this CATCone.
o SetVShift(double)
Modifies the shift along the rule-lines of this CATCone.

Methods


o GetApex
public virtual void GetApex(CATMathPoint& ioPoint) const = 0
Returns the apex of this CATCone.
Parameters:
ioPoint
The mathematical definition of the apex.
o GetConeAngle
public virtual CATAngle GetConeAngle()const = 0
Returns the angle of this CATCone.
Returns:
The external angle between the cone and the (O,X,Z) plane intersection, and the (O,X,Y) plane
o GetEndAngle
public virtual CATAngle GetEndAngle()const = 0
Returns the high limitation of the circle arc of this CATCone.
Returns:
The high limitation of the circle arc.
o GetEndRuleLength
public virtual double GetEndRuleLength()const = 0
Returns the high limitation of the length of this CATCone.
Returns:
The low limitation of the length, It is measured on the third direction of the CATCone axis.
o GetRadiusAtV
public virtual double GetRadiusAtV( const double iVval) const=0
Returns the radius of the circular cross-section of this cone at the input V-value.
Parameters:
iVval
The parameter value in the V direction.
Returns:
The corresponding radius value.
o GetSemiAngle
public virtual CATAngle GetSemiAngle()const = 0
Returns the angle between this cone and its axis third direction.
Returns:
The angle value.
o GetStartAngle
public virtual CATAngle GetStartAngle()const = 0
Returns the low limitation of the circle arc of this CATCone.
Returns:
The low limitation of the circle arc.
o GetStartRadius
public virtual double GetStartRadius()const = 0
Returns the radius in the definition plane of this CATCone.
Returns:
The circle radius on the plane (O,X,Y).
o GetStartRuleLength
public virtual double GetStartRuleLength()const = 0
Returns the low limitation of the length of this CATCone.
Returns:
The low limitation of the length, measured on the third direction of the CATCone axis.
o GetUScale
public virtual double GetUScale()const = 0
Retrieves the scale on the circular direction of this CATCone.
Returns:
The scale: U = UScale * theta, in which theta is the angle measured on the MeanCircularSection, with theta(OX)=0 and theta(OY)=Pi/2.
o GetVScale
public virtual double GetVScale()const = 0
Retrieves the scale along the rule-lines of this CATCone.
Returns:
The scale. This starts as 1.0, so that V measures rule-length. However, to preserve parametrization under dilations, it may be changed.
o GetVShift
public virtual double GetVShift()const = 0
Retrieves the shift along the rule-lines of this CATCone.
Returns:
The shift. This starts as 0.0, so that V measures rule-length from the ex-ey plane of the CATMathAxis. However, to preserve parametrization under offsets, it may be changed. In particular, positive offsets can be handled without the shift, but a large enough negative offset requires a shift in V in order to avoid a negative StartRadius.
o SetUScale
public virtual void SetUScale( const double iNewUScale) = 0
Modifies the scale on the circular direction of this CATCone.
Parameters:
iNewUScale
The scale.
o SetVScale
public virtual void SetVScale( const double iNewVScale) = 0
Modifies the scale along the rule-lines of this CATCone.
Parameters:
iNewVScale
The new scale.
o SetVShift
public virtual void SetVShift( const double iNewVScale) = 0
Modifies the shift along the rule-lines of this CATCone.
Parameters:
iNewVScale
The new shift.

This object is included in the file: CATCone.h
If needed, your Imakefile.mk should include the module: CATGeometricObjects

Copyright © 2003, Dassault Systèmes. All rights reserved.