/*! \page using_measurement_tools_page Using measurement tools \n Measurement tools in GEOM are necessary for getting different data concerning created or imported geometrical objects. They are: <ul> <li>\ref point_coord_anchor "Point coordinates"</li> <li>\ref basic_prop_anchor "Basic properties"</li> <li>\ref center_mass_anchor "Center of mass"</li> <li>\ref inertia_anchor "Inertia"</li> <li>\ref normale_anchor "Normal to a Face"</li> <li>\ref boundaries_anchor "Check Free Boundaries"</li> <li>\ref faces_anchor "Check Faces"</li> <li>\ref bounding_box_anchor "Bounding box"</li> <li>\ref min_distance_anchor "Min. distance"</li> <li>\ref angle_anchor "Angle"</li> <li>\ref tolerance_anchor "Tolerance"</li> <li>\ref whatis_anchor "WhatIs"</li> <li>\ref check_anchor "Check"</li> <li>\ref check_compound_anchor "Check compound of blocks"</li> </ul> \n Our <b>TUI Scripts</b> show how to use \ref tui_measurement_tools_page "Measurement Tools" with <b>TUI commands</b>. \n <em>To use measurement tools:</em> \par In the <b>Main menu</b> select \b Measures submenu. \anchor point_coord_anchor <br><h2>Point coordinates</h2> \n Returns the coordinates of a point. \n <b>Result:</b> Point coordinates (X, Y, Z) in 3D space in the form of Python Tuple. \n <b>TUI Command:</b> <em>geompy.PointCoordinates(Point),</em> where \em Point is a point whose coordinates are inquired. \image html measures1.png \anchor basic_prop_anchor <br><h2>Basic properties</h2> \n Returns the properties (Length, Surface & Volume) for the selected geometrical object. \n <b>Result:</b> Display Length, Surface & Volume in the form of Python Tuple. \n <b>TUI Command:</b> <em>geompy.BasicProperties(Shape),</em> where \em Shape is a shape whose properties are inquired. \image html neo-basicprop.png \anchor center_mass_anchor <br><h2>Center of mass</h2> \n Calculates and returns the coordinates of the gravity center for the selected geometrical object. \n <b>Result:</b> GEOM_Object (vertex). \n <b>TUI Command:</b> <em> geompy.MakeCDG(Shape),</em> where \em Shape is the shape for which a center of gravity is computed. \image html measures3.png \anchor inertia_anchor <br><h2>Inertia</h2> Returns the axial moments of inertia for the selected geometrical object. \n <b>Result:</b> Displays the matrix of the own moments of inertia and the relative moments of inertia in the form of Python Tuple <center>(I11, I12, I13,</center> <center>I21, I22, I23,</center> <center>I31, I32, I33,</center> <center>Ix, Iy, Iz).</center> \n <b>TUI Command:</b> <em>geompy.Inertia(Shape),</em> where \em Shape is a shape for which the own matrix of inertia and the relative moments of inertia are returned. \image html measures4.png \anchor normale_anchor <br><h2>Normal to a Face</h2> \n Calculates the normal vector to the selected \b Face. The \b Point is a point of the \b Face, where the Normal should be calculated. \image html normaletoface.png \anchor boundaries_anchor <br><h2>Check Free Boundaries</h2> \n Detects and highlights wires and edges that are not shared between two faces and are considered a shape's boundary. \n <b>TUI Command:</b> <em>(NoError, ClosedWires, OpenWires) = geompy.GetFreeBoundary(Shape),</em> where \em Shape is a shape to be checked, \em NoError is false if an error occurred while checking free boundaries, \em ClosedWires is a list of closed free boundary wires, \em OpenWires is a list of open free boundary wires. \image html repair9.png \anchor faces_anchor <br><h2>Check Free Faces</h2> \n Highlights all free faces of a given shape. A free face is a face which is not shared between two objects of the shape. \n \b NOTE: This functionality works only in VTK viewer. \n \b Result: a list of IDs of all free faces, containing in the shape. \n <b>TUI Command:</b> <em>GetFreeFacesIDs(Shape),</em> where \em Shape is a shape to be checked. \image html repair10.png \anchor bounding_box_anchor <br><h2>Bounding box</h2> \n Returns the dimensions of the bounding box for the selected geometrical object. \n <b>Result:</b> Displays the dimensions of the bounding box of a geometrical object in the form of Python Tuple (Xmin, Xmax, Ymin, Ymax, Zmin, Zmax). \n <b>TUI Command:</b> <em>geompy.BoundingBox(Shape),</em> where \em Shape is a shape for which a bounding box is computed. \image html measures5.png \anchor min_distance_anchor <br><h2>Min. distance</h2> \n Returns the minimum distance between two geometrical objects and the coordinates of the vector of distance and shows the vector in the viewer. \n <b>TUI Command:</b> <em>geompy.MinDistance(Shape1, Shape2),</em> where \em Shape1 and \em Shape2 are shapes between which the minimal distance is computed. \image html distance.png \anchor angle_anchor <br><h2>Angle</h2> \n Returns the angle between two lines or linear edges in degrees \n <b>TUI Command:</b> <em>geompy.GetAngle(shape1, shape2),</em> where Shape1 and Shape2 are shapes between which the angle is computed. Another TUI command is <em>geompy.GetAngleRadians(shape1,shape2),</em> which returns the value of angle in radians. \image html angle.png \anchor tolerance_anchor <br><h2>Tolerance</h2> \n Returns the maximum and the minimum tolerance for the selected geometrical object. \n <b>Result:</b> Displays the tolerance values (FaceMinTol, FaceMaxTol, EgdeMinTol, EgdeMaxTol, VertexMinTol, VertexMaxTol). \n <b>TUI Command:</b> <em>geompy.Tolerance(Shape),</em> where \em Shape is a shape for which minimal and maximal tolerances are returned. \image html new-tolerance.png \anchor whatis_anchor <br><h2>WhatIs</h2> \n General information about the selected geometrical object is the list of types and quantities of all topological entities, composing the shape. \n <b>TUI Command:</b> <em>geompy.WhatIs(Shape),</em> where \em Shape is a shape from which a description is returned. \image html measures8.png \n <b>Kind of Shape</b> field characterises the whole shape. If there is no additional information available for the shape, <b>Basic Properties</b> button will be disabled, otherwise it will show a dialog with information about dimensions, position, orientation and other parameters of the shape. \n <b>TUI Command:</b> <em>geompy.KindOfShape(Shape),</em> where \em Shape is a shape from which a description is returned. \image html measures8a.png \anchor check_anchor <br><h2>Check</h2> \n Checks the topology of the selected geometrical object and returns True if it is valid. Check also geometry checkbox allows to test the geometry as well. \n <b>Result:</b> Boolean. \n <b>TUI Command:</b> <em>geompy.CheckShape(theShape, theIsCheckGeom = 0),</em> where \em theShape is the shape checked for validity. \image html measures9.png \anchor check_compound_anchor <br><h2>Check compound of blocks</h2> \n Checks whether a shape is a compound of glued blocks. To be considered as a compound of blocks, the given shape must satisfy the following conditions: <ul> <li>Each element of the compound should be a Block (6 faces and 12 edges);</li> <li>A connection between two Blocks should be an entire quadrangle face or an entire edge;</li> <li>The compound should be connected;</li> <li>Two quadrangle faces should be glued.</li> </ul> \n Informs of the following possible errors: <ul> <li>not a block;</li> <li>not glued;</li> <li>not connected;</li> <li>extra or degenerated edge.</li> </ul> \n <b>Result:</b> Boolean; highlight in the viewer. \n <b>TUI Command:</b> <em>geompy.CheckCompoundOfBlocks(Compound).</em> Checks if the shape is a valid compound of blocks. If it is true, then the validity flag is returned, and encountered errors are printed in the python console. \image html measures10.png */