33 #ifndef __usNeedleModelPolynomial_h_
34 #define __usNeedleModelPolynomial_h_
38 #include <visp3/core/vpColVector.h>
40 #include <visp3/ustk_core/usPolynomialCurve3D.h>
41 #include <visp3/ustk_needle_modeling/usNeedleModelBaseTip.h>
50 MisraRSRO10_PlastisolA,
74 void loadPreset(
const NeedlePreset preset);
80 void setOuterDiameter(
double diameter);
81 double getOuterDiameter()
const;
83 void setInsideDiameter(
double diameter);
84 double getInsideDiameter()
const;
86 void setNeedleYoungModulus(
double E);
87 double getNeedleYoungModulus()
const;
99 vpColVector getNeedlePoint(
double l)
const;
100 vpColVector getNeedleDirection(
double l)
const;
101 double getDistanceFromPoint(
const vpColVector &P,
double start = 0,
double stop = -1,
double threshold = 1e-5)
const;
105 double getBendingEnergy()
const;
109 vpColVector getBaseStaticTorsor()
const;
113 double getCurvatureFromNeedleShape(
double start,
double end, vpColVector ¢er3D, vpColVector &direction3D)
const;
friend VISP_EXPORT std::ostream & operator<<=(std::ostream &s, const usNeedleModelBaseTip &needle)
Binary.
friend VISP_EXPORT std::istream & operator>>=(std::istream &s, usNeedleModelBaseTip &needle)
friend VISP_EXPORT std::ostream & operator<<(std::ostream &s, const usNeedleModelBaseTip &needle)
Data saving.
friend VISP_EXPORT std::istream & operator>>(std::istream &s, usNeedleModelBaseTip &needle)
virtual usNeedleModelBaseTip & operator=(const usNeedleModelBaseTip &needle)
virtual usNeedleModelPolynomial * clone() const
double m_outerDiameter
Needle parameters.
double m_needleYoungModulus