diff --git a/src/abr.cpp b/src/abr.cpp index d41a052..5d4dba6 100644 --- a/src/abr.cpp +++ b/src/abr.cpp @@ -127,7 +127,10 @@ std::vector> ABR::compute_brushes(const std::string& path b->m_tip_aspect = (1.f - samp->value("Rndn") * 0.01) * 0.5f + 0.5f; b->m_tip_size = samp->value("Dmtr"); b->m_tip_spacing = samp->value("Spcn") * 0.01f; - b->m_tip_angle = -samp->value("Angl") / 360.f; // [0, 360] -> [0, 1] + + float tip_angle = -samp->value("Angl") / 360.f; + b->m_tip_angle = tip_angle >= 0.f ? tip_angle : tip_angle + 1.f; // [-180, 180] -> [0, 1] + b->m_tip_flipx = samp->value("flipX"); b->m_tip_flipy = samp->value("flipY"); @@ -278,7 +281,10 @@ std::vector> ABR::compute_brushes(const std::string& path //b->m_tip_aspect = (1.f - samp->value("Rndn") * 0.01) * 0.5f + 0.5f; b->m_dual_size = samp->value("Dmtr") / b->m_tip_size; b->m_dual_spacing = samp->value("Spcn") * 0.01f; - //b->m_tip_angle = samp->value("Angl") / 360.f + 0.5f; // [-180, 180] -> [0, 1] + + float tip_angle = -samp->value("Angl") / 360.f; + b->m_dual_angle = tip_angle >= 0.f ? tip_angle : tip_angle + 1.f; // [-180, 180] -> [0, 1] + //b->m_tip_wet = p->value("Wtdg"); //b->m_tip_noise = (float)samp->value("Nose"); b->m_tip_flipx = samp->value("flipX");