/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGDefault_HH_ #define _MGDefault_HH_ /** @addtogroup BASE * @{ */ #include "mg/MGCL.h" #include "mg/types.h" #include "mg/DefaultVector.h" #include "mg/Box.h" #include "mg/Transf.h" #include "mg/KnotVector.h" #include "mg/Position.h" #include "mg/Unit_vector.h" // MGDefault.h // Header for class MGDefault extern MG_DLL_DECLR const MGInterval mgEMP_INTERV; extern MG_DLL_DECLR const MGInterval mgZERO_TO_DBLPAI; extern MG_DLL_DECLR const MGBox mgNULL_BOX; extern MG_DLL_DECLR const MGBox mgEMP_BOX; extern MG_DLL_DECLR const MGBox mgEMP_BOX_2D; extern MG_DLL_DECLR const MGMatrix mgNULL_MATR; extern MG_DLL_DECLR const MGMatrix mgUNIT_MATR; extern MG_DLL_DECLR const MGMatrix mgUNIT_MATR_2D; extern MG_DLL_DECLR const MGTransf mgNULL_TRANSF; extern MG_DLL_DECLR const MGTransf mgID_TRANSF; extern MG_DLL_DECLR const MGTransf mgID_TRANSF_2D; extern MG_DLL_DECLR const MGKnotVector mgNULL_KNOT_VECTOR; extern MG_DLL_DECLR const MGKnotVector mgINFINITE_KNOT_VECTOR; extern MG_DLL_DECLR const MGAbstractGel mgAll_Gell; extern MG_DLL_DECLR const MGAbstractGel mgAll_Object; extern MG_DLL_DECLR const MGAbstractGel mgAll_Group; extern MG_DLL_DECLR const MGAbstractGel mgAll_Attrib; extern MG_DLL_DECLR const MGAbstractGel mgAll_0Manifold; extern MG_DLL_DECLR const MGAbstractGel mgAll_1Manifold; extern MG_DLL_DECLR const MGAbstractGel mgAll_2Manifold; extern MG_DLL_DECLR const MGAbstractGel mgAll_Geo; extern MG_DLL_DECLR const MGAbstractGel mgAll_Topo; extern MG_DLL_DECLR const MGAbstractGel mgAll_STL; extern MG_DLL_DECLR const MGAbstractGel mgAll_Point; extern MG_DLL_DECLR const MGAbstractGel mgAll_Curve; extern MG_DLL_DECLR const MGAbstractGel mgAll_Surface; extern MG_DLL_DECLR const MGAbstractGel mgAll_FSurface; extern MG_DLL_DECLR const MGAbstractGel mgAll_Straight; extern MG_DLL_DECLR const MGAbstractGel mgAll_Ellipse; extern MG_DLL_DECLR const MGAbstractGel mgAll_LBRep; extern MG_DLL_DECLR const MGAbstractGel mgAll_RLBRep; extern MG_DLL_DECLR const MGAbstractGel mgAll_SurfCurve; extern MG_DLL_DECLR const MGAbstractGel mgAll_TrimmedCurve; extern MG_DLL_DECLR const MGAbstractGel mgAll_CompositeCurve; extern MG_DLL_DECLR const MGAbstractGel mgAll_Plane; extern MG_DLL_DECLR const MGAbstractGel mgAll_SPhere; extern MG_DLL_DECLR const MGAbstractGel mgAll_SBRep; extern MG_DLL_DECLR const MGAbstractGel mgAll_RSBRep; extern MG_DLL_DECLR const MGAbstractGel mgAll_Cylinder; extern MG_DLL_DECLR const MGAbstractGel mgAll_PVertex; extern MG_DLL_DECLR const MGAbstractGel mgAll_BVertex; extern MG_DLL_DECLR const MGAbstractGel mgAll_Edge; extern MG_DLL_DECLR const MGAbstractGel mgAll_Face; extern MG_DLL_DECLR const MGAbstractGel mgAll_Loop; extern MG_DLL_DECLR const MGAbstractGel mgAll_Shell; /// Defines default values of each class. class MG_DLL_DECLR MGDefault{ public: ///String stream function. MG_DLL_DECLR friend std::ostream& operator<<(std::ostream&, const MGDefault&); ///void constructor ///MGDefault(); ///Return null box. static const MGBox& null_box(){return mgNULL_BOX;}; ///Return empty 3D box. m_empty_box を返却。 static const MGBox& empty_box(){return mgEMP_BOX;}; ///Return empty 2D box. m_empty_box_2D を返却。 static const MGBox& empty_box_2D(){return mgEMP_BOX_2D;}; ///Return empty interval. m_empty_interval を返却。 static const MGInterval& empty_interval(){return mgEMP_INTERV;}; ///Return null transformation. static const MGTransf& null_transf(){return mgNULL_TRANSF;}; ///Return 4 by 4 unit transformation. m_identity_transf を返却。 static const MGTransf& identity_transf(){return mgID_TRANSF;}; ///Return 3 by 3 unit transformation. m_identity_transf_2D を返却。 static const MGTransf& identity_transf_2D(){return mgID_TRANSF_2D;}; ///Return 3D origin point(0,0,0). m_origin を返却。 static const MGPosition& origin(){return mgORIGIN;}; ///Return 2D origin point(0,0). m_origin_2D を返却。 static const MGPosition& origin_2D(){return mgORIGIN_2D;}; ///Return null matrix. static const MGMatrix& null_matrix(){return mgNULL_MATR;}; ///Return 3 by 3 unit matrix. m_unit_matrix を返却。 static const MGMatrix& unit_matrix(){return mgUNIT_MATR;}; ///Return 2 by 2 unit matrix. m_unit_matrix_2D を返却。 static const MGMatrix& unit_matrix_2D(){return mgUNIT_MATR_2D;}; ///Return x axis unit vector. m_x_unit_vector_2D を返却。 static const MGVector& x_unit_vector_2D(){return mgX_UVEC_2D;}; ///Return y axis unit vector. m_y_unit_vector_2D を返却。 static const MGVector& y_unit_vector_2D(){return mgY_UVEC_2D;}; ///Return x axis unit vector. m_x_unit_vector を返却。 static const MGVector& x_unit_vector(){return mgX_UVEC;}; ///Return y axis unit vector. m_y_unit_vector を返却。 static const MGVector& y_unit_vector(){return mgY_UVEC;}; ///Return z axis unit vector. m_z_unit_vector を返却。 static const MGVector& z_unit_vector(){return mgZ_UVEC;}; ///Return null position. static const MGPosition& null_position(){return mgNULL_Pos;}; ///Return null vector. static const MGVector& null_vector(){return mgNULL_VEC;}; ///Return 3D zero vector. m_zero_vector を返却。 static const MGVector& zero_vector(){return mgZERO_VEC;}; ///Return 2D zero vector. m_zero_vector_2D を返却。 static const MGVector& zero_vector_2D(){return mgZERO_VEC_2D;}; ///Return null knot vector. m_null_knot_vector を返却。 static const MGKnotVector& null_knot_vector(){return mgNULL_KNOT_VECTOR;}; ///Return infinite knot vector. m_infinite_knot_vector を返却。 static const MGKnotVector& infinite_knot_vector(){return mgINFINITE_KNOT_VECTOR;}; }; /** @} */ // end of BASE group #endif