10 #ifndef TurtleBrains_Curve_hpp
11 #define TurtleBrains_Curve_hpp
13 #include <turtle_brains/math/tb_vector.hpp>
67 void MakeLinesBySteps(std::vector<tbMath::Vector3>& points,
const size_t& stepsPerSection = 25)
const;
77 void GetPositionsByDistance(std::vector<tbMath::Vector3>& points,
const float maxLineLength,
const size_t stepsPerSection)
const;
78 void GetTangentsByDistance(std::vector<tbMath::Vector3>& points,
const float maxLineLength,
const size_t stepsPerSection)
const;
81 void GetInformationByDistance(std::vector<tbMath::Vector3>& points, std::vector<tbMath::Vector3>& tangents, std::vector<float>& tValues,
82 const float maxLineLength,
const size_t stepsPerSection)
const;
90 void GetOriginalPoints(std::vector<tbMath::Vector3>& points)
const;
93 void GetTangents(std::vector<tbMath::Vector3>& points,
const size_t& stepsPerSection = 25)
const;
112 tbMath::Vector3 GetPositionAt(
float lengthFromStart,
const size_t& stepsPerSection = 25)
const;
114 size_t NumberOfSections(
void)
const {
return mSections.size(); }
123 std::vector<Section> mSections;
124 mutable size_t mEstimatedLengthSteps;
125 mutable float mEstimatedLength;
Definition: tb_curve.hpp:23
float CalculateLength(const size_t stepsPerSection=25) const
static BezierCurve FromCatMullRomBeau(const std::vector< tbMath::Vector3 > &points, bool isLoop)
void MakeLinesBySteps(std::vector< tbMath::Vector3 > &points, const size_t &stepsPerSection=25) const
static BezierCurve FromCatMullRom(const std::vector< tbMath::Vector3 > &points, bool isLoop)
bool IsClosedLoop(void) const
Definition: tb_curve.hpp:60
void GetPositionsByDistance(std::vector< tbMath::Vector3 > &points, const float maxLineLength, const size_t stepsPerSection) const
Definition: tb_vector.hpp:472
Contains objects and functions for dealing with Vector and Matrix math.
Here is some information about the primary namespace.
Definition: tb_application_dialog.hpp:22
Definition: tb_curve.hpp:119