void Vector2::normalize() { assert(sqrMagnitude() != 0.0f); const float invLength = 1.0f / magnitude(); x *= invLength; y *= invLength; }
void FixedPointConstraint::ApplyForce(const std::vector<Particle*> & pVector) { Vec2f relative = m_p->m_Position - m_center; m_C = sqrMagnitude(relative) / 2; m_CDot = Dot(m_p->m_Velocity, relative); Vec2f dC_dp = m_p->m_Position - m_center; m_dC_dp_x = dC_dp[0]; m_dC_dp_y = dC_dp[1]; m_dCDot_dp_x = m_p->m_Velocity[0]; m_dCDot_dp_y = m_p->m_Velocity[1]; assert(!std::isnan(m_C) && std::isfinite(m_C)); assert(!std::isnan(m_CDot) && std::isfinite(m_CDot)); assert(!std::isnan(m_dC_dp_x) && std::isfinite(m_dC_dp_x)); assert(!std::isnan(m_dC_dp_y) && std::isfinite(m_dC_dp_y)); assert(!std::isnan(m_dCDot_dp_x) && std::isfinite(m_dCDot_dp_x)); assert(!std::isnan(m_dCDot_dp_y) && std::isfinite(m_dCDot_dp_y)); }
float Vector4::magnitude() const { return sqrt(sqrMagnitude()); }
float dge::Vector2::magnitude() { return sqrtf(sqrMagnitude()); }
// Functions Float Quaternion::magnitude() const { return sqrMagnitude().sqrt(); }
Vector2 Vector2::normalized() const { assert(sqrMagnitude() != 0.0f); const float invLength = 1.0f / magnitude(); return *this * invLength; }
float Vector3::magnitude() const { return std::sqrtf(sqrMagnitude()); }
// Functions Float Vector4D::magnitude() const { return sqrMagnitude().sqrt(); }