Package org.robwork.sdurw_geometry
Class QuadraticCurve
- java.lang.Object
-
- org.robwork.sdurw_geometry.QuadraticCurve
-
public class QuadraticCurve extends java.lang.Object
A quadratic curve.
A quadratic curve is given explicitly by the expression \mathbf{p} = \mathbf{c} + r(t) \mathbf{u} + s(t) \mathbf{v} where \mathbf{c},\mathbf{u},\mathbf{v},\mathbf{p} \in \mathbb{R}^3 and \mathbf{u}^T \mathbf{v} = 0 .
The following four types of curves are possible:
- Ellipse: (r,s)=(\sin t,\cos t)
- Hyperbola: (r,s)=(\sinh t,\cosh t)
- Line: (r,s)=(t,0)
- Parabola: (r,s)=(t,t^2)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
QuadraticCurve.Type
The four possible curve types.
-
Constructor Summary
Constructors Constructor Description QuadraticCurve()
QuadraticCurve(long cPtr, boolean cMemoryOwn)
QuadraticCurve(Vector3D c, Vector3D u, Vector3D v, QuadraticCurve.Type type)
Construct quadratic curve given by the expression \mathbf{p} = \mathbf{c} + r(t) \mathbf{u} + s(t) \mathbf{v} , where u and v are orthogonal vectors.
-
Method Summary
-
-
-
Constructor Detail
-
QuadraticCurve
public QuadraticCurve(long cPtr, boolean cMemoryOwn)
-
QuadraticCurve
public QuadraticCurve(Vector3D c, Vector3D u, Vector3D v, QuadraticCurve.Type type)
Construct quadratic curve given by the expression \mathbf{p} = \mathbf{c} + r(t) \mathbf{u} + s(t) \mathbf{v} , where u and v are orthogonal vectors.- Parameters:
c
- [in] offset of curve.u
- [in] first direction.v
- [in] second direction.type
- [in] the type of curve.
-
QuadraticCurve
public QuadraticCurve()
-
-
Method Detail
-
getCPtr
public static long getCPtr(QuadraticCurve obj)
-
delete
public void delete()
-
transform
public QuadraticCurvePtr transform(Transform3D T)
rw::math::Transform3D<double>&) const
-
transform
public QuadraticCurvePtr transform(Vector3D P)
rw::math::Vector3D<double>&) const
-
scale
public QuadraticCurvePtr scale(double factor)
-
reverse
public QuadraticCurvePtr reverse()
-
clone
public QuadraticCurvePtr clone()
-
discretizeAdaptive
public SWIGTYPE_p_std__listT_rw__math__Vector3DT_double_t_t discretizeAdaptive(double stepsPerRevolution)
-
obr
public OBB obr()
-
closestPoints
public SWIGTYPE_p_std__vectorT_rw__math__Vector3DT_double_t_t closestPoints(Vector3D p)
-
CurveEqual
public boolean CurveEqual(CurveCPtr curve, double eps)
-
x
public Vector3D x(double t)
-
dx
public Vector3D dx(double t)
-
ddx
public Vector3D ddx(double t)
-
call
public Vector3D call(double in)
-
hasLimits
public boolean hasLimits()
-
limits
public pair_d_d limits()
-
inLimits
public boolean inLimits(double t)
-
setLimits
public void setLimits(pair_d_d limits)
-
curvature
public double curvature(double t)
-
closestTime
public double closestTime(Vector3D p)
-
c
public Vector3D c()
The point c.- Returns:
- the point c \in \mathbb{R}^3 .
-
u
public Vector3D u()
The vector u.- Returns:
- the vector u \in \mathbb{R}^3 .
-
v
public Vector3D v()
The vector v.- Returns:
- the vector v \in \mathbb{R}^3 .
-
type
public QuadraticCurve.Type type()
Get the type of curve.- Returns:
- the type of curve.
-
assign
public QuadraticCurve assign(QuadraticCurve rhs)
-
-