1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0024737: Coding - remove <br> tag from header files

Eliminate #ifdefs around #includes, some unnecessary includes and macros
This commit is contained in:
kgv
2014-03-20 14:12:12 +04:00
committed by bugmaster
parent df80c6ddda
commit ebc93ae74f
130 changed files with 563 additions and 1555 deletions

View File

@@ -41,87 +41,61 @@ DEFINE_STANDARD_HANDLE (Poly_CoherentTriangulation, Standard_Transient)
/**
* Triangulation structure that allows to:
* <ul>
* <li>Store the connectivity of each triangle with up to 3 neighbouring ones
* and with the corresponding 3rd nodes on them,</li>
* <li>Store the connectivity of each node with all triangles that share this
* node</li>
* <li>Store the connectivity of each triangle with up to 3 neighbouring ones and with the corresponding 3rd nodes on them,</li>
* <li>Store the connectivity of each node with all triangles that share this node</li>
* <li>Add nodes and triangles to the structure,</li>
* <li>Find all triangles sharing a single or a couple of nodes</li>
* <li>Remove triangles from structure</li>
* <li>Optionally create Links between pairs of nodes according to the current
* triangulation.
* <li>Optionally create Links between pairs of nodes according to the current triangulation.</li>
* <li>Convert from/to Poly_Triangulation structure.</li>
* </ul>
* This class is useful for algorithms that need to analyse and/or edit a
* triangulated mesh -- for example for mesh refining. The connectivity model
* follows the idea that all Triangles in a mesh should have coherent orientation
* like on a surface of a solid body. Connections between more than 2 triangles
* are not suppoorted.
*
* This class is useful for algorithms that need to analyse and/or edit a triangulated mesh -- for example for mesh refining.
* The connectivity model follows the idea that all Triangles in a mesh should have coherent orientation like on a surface of a solid body.
* Connections between more than 2 triangles are not suppoorted.
*
* @section Poly_CoherentTriangulation Architecture
* The data types used in this structure are:
* <ul>
* <li><b>Poly_CoherentNode</b>: Inherits go_XYZ therefore provides the full
* public API of gp_XYZ. Contains references to all incident triangles. You
* can add new nodes but you cannot remove existing ones. However each node
* that has no referenced triangle is considered as "free" (use the method
* IsFreeNode() to check this). Free nodes are not available to further
* processing, particularly they are not exported in Poly_Triangulation.
* <li><b>Poly_CoherentNode</b>: Inherits go_XYZ therefore provides the full public API of gp_XYZ.
* Contains references to all incident triangles. You can add new nodes but you cannot remove existing ones.
* However each node that has no referenced triangle is considered as "free" (use the method IsFreeNode() to check this).
* Free nodes are not available to further processing, particularly they are not exported in Poly_Triangulation.
* </li>
* <li><b>Poly_CoherentTriangle</b>: Main data type. Refers three Nodes, three
* connected Triangles, three opposite (connected) Nodes and three Links.
* If there is boundary then 1, 2 or 3 references to Triangles/connected
* Nodes/Links are assigned to NULL (for pointers) or -1 (for integer
* node index).
* <br>
* You can find a triangle by one node using its triangle iterator or by
* two nodes - creating a temporary Poly_CoherentLink and calling the method
* FindTriangle().
* <br>
* Triangles can be removed but they are never deleted from
* the containing array. Removed triangles have all nodes equal to -1. You
* can use the method IsEmpty() to check that.
* <li><b>Poly_CoherentTriangle</b>: Main data type. Refers three Nodes, three connected Triangles, three opposite (connected) Nodes and three Links.
* If there is boundary then 1, 2 or 3 references to Triangles/connected Nodes/Links are assigned to NULL (for pointers) or -1 (for integer node index).
*
* You can find a triangle by one node using its triangle iterator or by
* two nodes - creating a temporary Poly_CoherentLink and calling the method FindTriangle().
*
* Triangles can be removed but they are never deleted from the containing array. Removed triangles have all nodes equal to -1.
* You can use the method IsEmpty() to check that.
* </li>
* <li><b>Poly_CoherentLink</b>: Auxiliary data type. Normally the array of
* Links is empty, because for many algorithms it is sufficient to define
* only Triangles. You can explicitly create the Links at least once,
* calling the method ComputeLinks(). Each Link is oriented couple of
* Poly_CoherentNode (directed to the ascending Node index). It refers
* two connected triangulated Nodes - on the left and on the right,
* therefore a Poly_CoherentLink instance refers the full set of nodes
* that constitute a couple of connected Triangles. A boundary Link has
* either the first (left) or the second (right) connected node index
* equal to -1.
* <br>
* When the array of Links is created, all subsequent calls to AddTriangle
* and RemoveTriangle try to preserve the connectivity Triangle-Link in
* addition to the connectivity Triangle-Triangle. Particularly, new Links
* are created by method AddTriangle() and existing ones are removed by
* method RemoveTriangle(), in each case whenever necessary.
* <br>
* Similarly to Poly_CoherentTriangle, a Link can be removed but not
* destroyed separately from others. Removed Link can be recogniosed using
* the method IsEmpty(). To destroy all Links, call the method ClearLinks(),
* this method also nullifies Link references in all Triangles.
* <li><b>Poly_CoherentLink</b>: Auxiliary data type. Normally the array of Links is empty, because for many algorithms it is sufficient to define only Triangles.
* You can explicitly create the Links at least once, calling the method ComputeLinks(). Each Link is oriented couple of Poly_CoherentNode (directed to the ascending Node index).
* It refers two connected triangulated Nodes - on the left and on the right,
* therefore a Poly_CoherentLink instance refers the full set of nodes that constitute a couple of connected Triangles.
* A boundary Link has either the first (left) or the second (right) connected node index equal to -1.
*
* When the array of Links is created, all subsequent calls to AddTriangle and RemoveTriangle try to preserve the connectivity Triangle-Link in addition to the connectivity Triangle-Triangle.
* Particularly, new Links are created by method AddTriangle() and existing ones are removed by method RemoveTriangle(), in each case whenever necessary.
*
* Similarly to Poly_CoherentTriangle, a Link can be removed but not destroyed separately from others.
* Removed Link can be recogniosed using the method IsEmpty(). To destroy all Links, call the method ClearLinks(),
* this method also nullifies Link references in all Triangles.
* </li>
* All objects (except for free Nodes and empty Triangles and Links) can be
* visited by the corresponding Iterator. Direct access is provided only for
* Nodes (needed to resolve Node indexed commonly used as reference). Triangles
* and Links can be retrieved by their index only internally, the public API
* provides only references or pointers to C++ objects. If you need a direct
* access to Triangles and Links, you can subclass Poly_CoherentTriangulation
* and use the protected API for your needs.
* <br>
* Memory management: All data objects are stored in NCollection_Vector
* containers that prove to be efficient for the performance. In addition
* references to triangles are stored in ring lists, with an instance of such
* list per Poly_CoherentNode. These lists are allocated in a memory allocator
* that is provided in the constructor of Poly_CoherentTriangulation. By default
* the standard OCCT allocator (aka NCollection_BaseAllocator) is used. But if
* you need to increase the performance you can use NCollection_IncAllocator
* instead.
* All objects (except for free Nodes and empty Triangles and Links) can be visited by the corresponding Iterator.
* Direct access is provided only for Nodes (needed to resolve Node indexed commonly used as reference).
* Triangles and Links can be retrieved by their index only internally, the public API provides only references or pointers to C++ objects.
* If you need a direct access to Triangles and Links, you can subclass Poly_CoherentTriangulation and use the protected API for your needs.
*
* Memory management: All data objects are stored in NCollection_Vector containers that prove to be efficient for the performance.
* In addition references to triangles are stored in ring lists, with an instance of such list per Poly_CoherentNode.
* These lists are allocated in a memory allocator that is provided in the constructor of Poly_CoherentTriangulation.
* By default the standard OCCT allocator (aka NCollection_BaseAllocator) is used.
* But if you need to increase the performance you can use NCollection_IncAllocator instead.
* </ul>
*/
class Poly_CoherentTriangulation : public Standard_Transient
{
public: