/*!
\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:
- \ref point_coord_anchor "Point coordinates"
- \ref basic_prop_anchor "Basic properties"
- \ref center_mass_anchor "Center of mass"
- \ref vertex_by_index "Get Vertex By Index"
- \ref inertia_anchor "Inertia"
- \ref normale_anchor "Normal to a Face"
- \ref boundaries_anchor "Check Free Boundaries"
- \ref faces_anchor "Check Faces"
- \ref bounding_box_anchor "Bounding box"
- \ref min_distance_anchor "Min. distance"
- \ref angle_anchor "Angle"
- \ref tolerance_anchor "Tolerance"
- \ref whatis_anchor "WhatIs"
- \ref check_anchor "Check"
- \ref check_compound_anchor "Check compound of blocks"
\n Our TUI Scripts show how to use
\ref tui_measurement_tools_page "Measurement Tools" with TUI
commands.
\n To use measurement tools:
\par
In the Main menu select \b Measures submenu.
\anchor point_coord_anchor
Point coordinates
\n Returns the coordinates of a point.
\n Result: Point coordinates (X, Y, Z) in 3D space in the form of Python Tuple.
\n TUI Command: geompy.PointCoordinates(Point),
where \em Point is a point whose coordinates are inquired.
\image html measures1.png
\anchor basic_prop_anchor
Basic properties
\n Returns the properties (Length, Surface & Volume) for the selected
geometrical object.
\n Result: Display Length, Surface & Volume in the form of
Python Tuple.
\n TUI Command: geompy.BasicProperties(Shape), where
\em Shape is a shape whose properties are inquired.
\image html neo-basicprop.png
\anchor center_mass_anchor
Center of mass
\n Calculates and returns the coordinates of the gravity center for
the selected geometrical object.
\n Result: GEOM_Object (vertex).
\n TUI Command: geompy.MakeCDG(Shape), where \em Shape is
the shape for which a center of gravity is computed.
\image html measures3.png
\anchor vertex_by_index
Get Vertex by Index
\n It is possible to get the first or the last vertex from an edge or a wire, depending on
its direction (orientation), or to find the vertex by the index inside the wire.
The numeration of vertexes starts from 0. This function has only a TUI implementation)
\n Result: GEOM_Object (vertex).
\n TUI Command: geompy.GetVertexByIndex(Shape, Index),
geompy.GetFirstVertex(Shape),
geompy.GetLastVertex(Shape), where \em Shape must be Wire or Edge.
\anchor inertia_anchor
Inertia
Returns the axial moments of inertia for the selected geometrical object.
\n Result: Displays the matrix of the own moments of inertia and
the relative moments of inertia in the form of Python Tuple
(I11, I12, I13,
I21, I22, I23,
I31, I32, I33,
Ix, Iy, Iz).
\n TUI Command: geompy.Inertia(Shape), 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
Normal to a Face
\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
Check Free Boundaries
\n Detects and highlights wires and edges that are not shared between
two faces and are considered a shape's boundary.
\n TUI Command: (NoError, ClosedWires, OpenWires) =
geompy.GetFreeBoundary(Shape), 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
Check Free Faces
\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 TUI Command: GetFreeFacesIDs(Shape), where \em Shape is
a shape to be checked.
\image html repair10.png
\anchor bounding_box_anchor
Bounding box
Returns the dimensions of the bounding box for the selected
geometrical object.
\b NOTE: In order to take into account any possible distortion of a shape
that affects the resulting bounding box, the algorithm enlarges
the bounding box to the value of the maximum deflection value of
faces (by iterating through all faces of a shape).
This functionallity is implemented in such a way in order to have
satisfactory performance.
Result: Displays the dimensions of the bounding box of a
geometrical object in the form of Python Tuple (Xmin, Xmax, Ymin,
Ymax, Zmin, Zmax).
\n TUI Command: geompy.BoundingBox(Shape), where \em Shape
is a shape for which a bounding box is computed.
\image html measures5.png
\anchor min_distance_anchor
Min. distance
\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 TUI Command: geompy.MinDistance(Shape1, Shape2),
where \em Shape1 and \em Shape2 are shapes between which the minimal
distance is computed.
\image html distance.png
\anchor angle_anchor
Angle
\n Returns the angle between two lines or linear edges in degrees
\n TUI Command: geompy.GetAngle(shape1, shape2), where
Shape1 and Shape2 are shapes between which the angle is computed.
Another TUI command is geompy.GetAngleRadians(shape1,shape2),
which returns the value of angle in radians.
\image html angle.png
\anchor tolerance_anchor
Tolerance
\n Returns the maximum and the minimum tolerance for the selected
geometrical object.
\n Result: Displays the tolerance values (FaceMinTol,
FaceMaxTol, EgdeMinTol, EgdeMaxTol, VertexMinTol, VertexMaxTol).
\n TUI Command: geompy.Tolerance(Shape), where \em Shape
is a shape for which minimal and maximal tolerances are returned.
\image html new-tolerance.png
\anchor whatis_anchor
WhatIs
\n General information about the selected geometrical object is the
list of types and quantities of all topological entities, composing
the shape.
\n TUI Command: geompy.WhatIs(Shape), where \em Shape is a
shape from which a description is returned.
\image html measures8.png
\n Kind of Shape field characterises the
whole shape. If there is no additional information available for the
shape, Basic Properties button will be disabled, otherwise it
will show a dialog with information about
dimensions, position, orientation and other parameters of the shape.
\n TUI Command: geompy.KindOfShape(Shape), where \em Shape is a
shape from which a description is returned.
\image html measures8a.png
\anchor check_anchor
Check
\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 Result: Boolean.
\n TUI Command: geompy.CheckShape(theShape, theIsCheckGeom = 0),
where \em theShape is the shape checked for validity.
\image html measures9.png
\anchor check_compound_anchor
Check compound of blocks
\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:
- Each element of the compound should be a Block (6 faces and 12 edges);
- A connection between two Blocks should be an entire quadrangle face or an entire edge;
- The compound should be connected;
- Two quadrangle faces should be glued.
\n Informs of the following possible errors:
- not a block;
- not glued;
- not connected;
- extra or degenerated edge.
\n Result: Boolean; highlight in the viewer.
\n TUI Command:
geompy.CheckCompoundOfBlocks(Compound). 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
*/