209 lines
7.5 KiB
XML
209 lines
7.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
|
<PythonExport
|
|
Father="ShapeFix_RootPy"
|
|
Name="ShapeFix_FacePy"
|
|
PythonName="Part.ShapeFix.Face"
|
|
Twin="ShapeFix_Face"
|
|
TwinPointer="ShapeFix_Face"
|
|
Include="ShapeFix_Face.hxx"
|
|
Namespace="Part"
|
|
FatherInclude="Mod/Part/App/ShapeFix/ShapeFix_RootPy.h"
|
|
FatherNamespace="Part"
|
|
Constructor="true">
|
|
<Documentation>
|
|
<Author Licence="LGPL" Name="Werner Mayer" EMail="wmayer@users.sourceforge.net" />
|
|
<UserDocu>Class for fixing operations on faces</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="init">
|
|
<Documentation>
|
|
<UserDocu>Initializes by face</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixWireTool">
|
|
<Documentation>
|
|
<UserDocu>Returns tool for fixing wires</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="clearModes">
|
|
<Documentation>
|
|
<UserDocu>Sets all modes to default</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="add">
|
|
<Documentation>
|
|
<UserDocu>Add a wire to current face using BRep_Builder.
|
|
Wire is added without taking into account orientation of face
|
|
(as if face were FORWARD)
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixOrientation">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Fixes orientation of wires on the face
|
|
It tries to make all wires lie outside all others (according
|
|
to orientation) by reversing orientation of some of them.
|
|
If face lying on sphere or torus has single wire and
|
|
AddNaturalBoundMode is True, that wire is not reversed in
|
|
any case (supposing that natural bound will be added).
|
|
Returns True if wires were reversed
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixAddNaturalBound">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Adds natural boundary on face if it is missing.
|
|
Two cases are supported:
|
|
- face has no wires
|
|
- face lies on geometrically double-closed surface
|
|
(sphere or torus) and none of wires is left-oriented
|
|
Returns True if natural boundary was added
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixMissingSeam">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Detects and fixes the special case when face on a closed
|
|
surface is given by two wires closed in 3d but with gap in 2d.
|
|
In that case it creates a new wire from the two, and adds a
|
|
missing seam edge
|
|
Returns True if missing seam was added
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixSmallAreaWire">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Detects wires with small area (that is less than
|
|
100*Precision.PConfusion(). Removes these wires if they are internal.
|
|
Returns True if at least one small wire removed, False nothing is done.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixLoopWire">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Detects if wire has a loop and fixes this situation by splitting on the few parts.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixIntersectingWires">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Detects and fixes the special case when face has more than one wire
|
|
and this wires have intersection point
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixWiresTwoCoincidentEdges">
|
|
<Documentation>
|
|
<UserDocu>
|
|
If wire contains two coincidence edges it must be removed
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="fixPeriodicDegenerated">
|
|
<Documentation>
|
|
<UserDocu>
|
|
Fixes topology for a specific case when face is composed
|
|
by a single wire belting a periodic surface. In that case
|
|
a degenerated edge is reconstructed in the degenerated pole
|
|
of the surface. Initial wire gets consistent orientation.
|
|
Must be used in couple and before FixMissingSeam routine
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="perform">
|
|
<Documentation>
|
|
<UserDocu>Iterates on subshapes and performs fixes</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="face">
|
|
<Documentation>
|
|
<UserDocu>Returns a face which corresponds to the current state</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="result">
|
|
<Documentation>
|
|
<UserDocu>Returns resulting shape (Face or Shell if split)
|
|
To be used instead of face() if FixMissingSeam involved
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Attribute Name="FixWireMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying fixes of ShapeFix_Wire</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixWireMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixOrientationMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying fixes of orientation
|
|
If True, wires oriented to border limited square
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixOrientationMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixAddNaturalBoundMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>If true, natural boundary is added on faces that miss them.
|
|
Default is False for faces with single wire (they are
|
|
handled by FixOrientation in that case) and True for others.
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixAddNaturalBoundMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixMissingSeamMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>If True, tries to insert seam if missing</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixMissingSeamMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixSmallAreaWireMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>If True, drops small wires</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixSmallAreaWireMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="RemoveSmallAreaFaceMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>If True, drops small wires</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="RemoveSmallAreaFaceMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixIntersectingWiresMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying fixes of intersecting wires</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixIntersectingWiresMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixLoopWiresMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying fixes of loop wires</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixLoopWiresMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixSplitFaceMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying fixes of split face</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixSplitFaceMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="AutoCorrectPrecisionMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying auto-corrected precision</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="AutoCorrectPrecisionMode" Type="Boolean"/>
|
|
</Attribute>
|
|
<Attribute Name="FixPeriodicDegeneratedMode" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>Mode for applying periodic degeneration</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="FixPeriodicDegeneratedMode" Type="Boolean"/>
|
|
</Attribute>
|
|
</PythonExport>
|
|
</GenerateModel>
|