complete stroke direction fix

This commit is contained in:
2019-11-25 01:48:18 +01:00
parent 423df3b92d
commit 9be704a26f
2 changed files with 47 additions and 28 deletions

View File

@@ -157,12 +157,14 @@ public:
{
Keypoint last;
std::vector<Keypoint> keypoints;
bool initial_kp_done;
bool ready_first;
bool first;
float spacing;
float dist;
bool calc_dir;
SamplesInterpolator() noexcept;
SamplesInterpolator(float sp) noexcept;
SamplesInterpolator(float sp, bool compute_dir) noexcept;
void add(const Keypoint& p) noexcept;
bool ready() const noexcept;
void reset(bool clear_keypoints) noexcept;
@@ -171,8 +173,6 @@ public:
int m_layer = 0;
int m_dir_kp = 0;
bool m_dir_valid = false;
std::vector<Keypoint> m_dirs_cache;
int m_dir_i = 0;
glm::vec2 m_dir_ref = { 1, 0 };
float m_dir_ref_angle = 0;
float m_dir_dist = 0;
@@ -200,6 +200,7 @@ public:
void add_point(glm::vec3 pos, float pressure);
void reset(bool clear_keypoints = false);
bool has_sample();
bool need_dir() const noexcept;
std::vector<StrokeSample> compute_samples();
std::vector<StrokeSample> compute_samples_old();
StrokeSample randomize_sample(const glm::vec3& pos, float pressure, float curve_angle);