Package geomss.geom.cst
Class CSTCurve
- java.lang.Object
-
- geomss.geom.AbstractGeomElement<T>
-
- geomss.geom.AbstractCurve<CSTCurve>
-
- geomss.geom.cst.CSTCurve
-
- All Implemented Interfaces:
Curve<CSTCurve>
,GeomElement<CSTCurve>
,ParametricGeometry<CSTCurve>
,Transformable<CSTCurve>
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable
,javolution.lang.Reusable
,javolution.xml.XMLSerializable
- Direct Known Subclasses:
BasicCSTCurve
,CSTCurveTrans
public abstract class CSTCurve extends AbstractCurve<CSTCurve>
The interface and implementation in common to all Class-Shape-Transform (CST) planar curves. This curve type is useful for defining smooth aircraft component shapes with a minimum number of defining parameters.Modified by: Joseph A. Huwaldt
- Version:
- November 28, 2015
- Author:
- Joseph A. Huwaldt, Date: October 7, 2015
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class geomss.geom.AbstractCurve
GTOL
-
Fields inherited from class geomss.geom.AbstractGeomElement
RESOURCES
-
-
Constructor Summary
Constructors Constructor Description CSTCurve()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract CSTClassFunction
getCFunction()
Return the class function associated with this CST curve.abstract Parameter<javax.measure.quantity.Length>
getChord()
Return the chord length of the curve.abstract Parameter<javax.measure.quantity.Length>
getOffsetTE()
Return the offset of the trailing edge of the curve from the chord line.abstract Point
getOrigin()
Return the origin of the leading edge of this curve.abstract CSTShapeFunction
getSFunction()
Return the shape function associated with this CST curve.CSTCurveTrans
getTransformed(GTransform transform)
Returns transformed version of this element.abstract Vector<javax.measure.quantity.Dimensionless>
getXhat()
Return the chord-wise direction of this curve (the curve X-direction).abstract Vector<javax.measure.quantity.Dimensionless>
getYhat()
Return the in-plane direction of this curve perpendicular to the chord-wise direction (the curve Y-direction).abstract BasicCSTCurve
immutable()
Return an immutable version of this CST curve.boolean
isDegenerate(Parameter<javax.measure.quantity.Length> tol)
Returntrue
if this curve is degenerate (i.e.: has length less than the specified tolerance).boolean
isPlanar(Parameter<javax.measure.quantity.Length> tol)
Returntrue
if this curve is planar orfalse
if it is not.int
size()
Returns the number of child-elements that make up this geometry element.-
Methods inherited from class geomss.geom.AbstractCurve
extractGrid, getArcLength, getArcLength, getArcLength, getBinormal, getBinormal, getClosest, getClosest, getClosest, getClosest, getClosest, getClosest, getCurvature, getCurvature, getDerivatives, getEnclosedArea, getFarthest, getFarthest, getFarthest, getLimitPoint, getParDimension, getPoint, getPoint, getPointAtArcLength, getPrincipalNormal, getPrincipalNormal, getRealPoint, getSDerivative, getSDerivatives, getTangencyPoint, getTangent, getTangent, getTorsion, getTorsion, getVariationOfCurvature, getVariationOfCurvature, gridToTolerance, intersect, intersect, intersect, intersect, intersect, isCircular, isLine, splitAt
-
Methods inherited from class geomss.geom.AbstractGeomElement
addChangeListener, clone, compareTo, equals, getAllUserData, getID, getName, getUserData, hashCode, putAllUserData, putUserData, removeChangeListener, removeUserData, reset, setName, toString, toText
-
Methods inherited from interface geomss.geom.Curve
copy, copyToReal, getRealPoint, getSDerivatives, reverse, splitAt, to, toDimension, toNurbs
-
Methods inherited from interface geomss.geom.GeomElement
addChangeListener, getAllUserData, getBoundsMax, getBoundsMin, getID, getName, getPhyDimension, getUnit, getUserData, isValid, putAllUserData, putUserData, removeChangeListener, removeUserData, setName, toText
-
-
-
-
Constructor Detail
-
CSTCurve
public CSTCurve()
-
-
Method Detail
-
getCFunction
public abstract CSTClassFunction getCFunction()
Return the class function associated with this CST curve.- Returns:
- The class function associated with this CST curve.
-
getSFunction
public abstract CSTShapeFunction getSFunction()
Return the shape function associated with this CST curve.- Returns:
- The shape function associated with this CST curve.
-
getOffsetTE
public abstract Parameter<javax.measure.quantity.Length> getOffsetTE()
Return the offset of the trailing edge of the curve from the chord line.- Returns:
- The offset of the trailing edge of the curve from the chord line.
-
getChord
public abstract Parameter<javax.measure.quantity.Length> getChord()
Return the chord length of the curve. This defines the scale or size of the curve.- Returns:
- The chord length of the curve.
-
getOrigin
public abstract Point getOrigin()
Return the origin of the leading edge of this curve. This defines the s=0 location of the curve in space.- Returns:
- The origin of the leading edge of this curve.
-
getXhat
public abstract Vector<javax.measure.quantity.Dimensionless> getXhat()
Return the chord-wise direction of this curve (the curve X-direction).- Returns:
- The chord-wise direction of this curve.
-
getYhat
public abstract Vector<javax.measure.quantity.Dimensionless> getYhat()
Return the in-plane direction of this curve perpendicular to the chord-wise direction (the curve Y-direction).- Returns:
- The in-plane direction of this curve perpendicular to Xhat.
-
immutable
public abstract BasicCSTCurve immutable()
Return an immutable version of this CST curve.- Returns:
- an immutable version of this curve.
-
size
public int size()
Returns the number of child-elements that make up this geometry element. This implementation always returns 0.- Returns:
- Always returns 0.
-
isDegenerate
public boolean isDegenerate(Parameter<javax.measure.quantity.Length> tol)
Returntrue
if this curve is degenerate (i.e.: has length less than the specified tolerance).- Specified by:
isDegenerate
in interfaceCurve<CSTCurve>
- Specified by:
isDegenerate
in interfaceParametricGeometry<CSTCurve>
- Overrides:
isDegenerate
in classAbstractCurve<CSTCurve>
- Parameters:
tol
- The tolerance for determining if this curve is degenerate. May not be null.- Returns:
- true if this curve is degenerate.
-
isPlanar
public boolean isPlanar(Parameter<javax.measure.quantity.Length> tol)
Returntrue
if this curve is planar orfalse
if it is not. BasicCSTCurve objects are always planar, so this always returns true.
-
getTransformed
public CSTCurveTrans getTransformed(GTransform transform)
Returns transformed version of this element. The returned object implementsGeomTransform
and contains this element as a child.- Parameters:
transform
- The transformation to apply to this geometry. May not be null.- Returns:
- A new triangle that is identical to this one with the specified transformation applied.
- Throws:
DimensionException
- if this point is not 3D.
-
-