const UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::operator/(const UtilityMath::S_Vector2<T>& rAnother) const { assert(rAnother.x_ != static_cast<T>(0)); assert(rAnother.y_ != static_cast<T>(0)); return S_Vector2(x_ / rAnother.x_, y_ / rAnother.y_); }
//============================================================================ //! 基準位置の変更 dlBOOL C_DL2DFrameWorkText::SetOrigin(NODE_HANDLE handle , const S_Vector2& origin_S) const { C_RenderCoreNode* node_CP = C_DL2DFrameWork::RENDER -> _GetNodeAddress(handle); if(node_CP == 0 || node_CP -> GetNodeType() != kTEXT_NODE){return dlFALSE;} dlBOOL flip_Flg; if(!C_DL2DFrameWork::RENDER -> _IsVirtualFlip(handle , flip_Flg)) { return dlFALSE; } static_cast<C_TextNode*>(node_CP) -> SetOrigin(flip_Flg ? S_Vector2(origin_S.x , 1.f - origin_S.y) : origin_S); return dlTRUE; }
const UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::operator/(T value) const { assert(value != static_cast<T>(0)); return S_Vector2(x_ / value, y_ / value); }
const UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::operator*(T value) const { return S_Vector2(x_ * value, y_ * value); }
const UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::operator*(const UtilityMath::S_Vector2<T>& rAnother) const { return S_Vector2(x_ * rAnother.x_, y_ * rAnother.y_); }
UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::s_CreateWithAngle(T angle, T length) { return S_Vector2(std::cos(angle), std::sin(angle)) * length; }
UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::GetPerpendicular() const { return S_Vector2(-y_, x_); }
UtilityMath::S_Vector2<T> UtilityMath::S_Vector2<T>::GetInvert() const { return S_Vector2(-x_, -y_); }