Skip to content

Commit

Permalink
Feature/surf#100 create quality check filter
Browse files Browse the repository at this point in the history
  • Loading branch information
chandan-satija authored and ArtemNzk committed Oct 21, 2022
1 parent fa016be commit 46504ff
Show file tree
Hide file tree
Showing 3 changed files with 267 additions and 244 deletions.
5 changes: 3 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,12 @@ vtk_module_add_module(${NAMESPACE}::stkCGAL
set(xml_files
Resources/cgal_proxies.xml
Resources/cgal_filters.xml
Resources/stkCGALSurfaceMeshTopology.xml
Resources/stkCGALEfficientRANSAC.xml
Resources/stkCGALRegionGrowing.xml
Resources/stkCGALFillHoles.xml
Resources/stkCGALPoissonReconstructionMesher.xml
Resources/stkCGALRegionGrowing.xml
Resources/stkCGALSelfIntersectionMeasurer.xml
Resources/stkCGALSurfaceMeshTopology.xml
)

paraview_add_server_manager_xmls(
Expand Down
242 changes: 0 additions & 242 deletions src/Resources/cgal_filters.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,248 +31,6 @@
<!-- For external users: Uncomment to expose the filter -->
<!-- <SourceProxy name="CGALBoolean3DMesher" class="stkCGALBoolean3DMesher" label="CGAL Boolean 3D" base_proxygroup="boolean_meshers" base_proxyname="CGALBoolean3DMesher"> <Documentation long_help="Applies a boolean operation on two PolyData inputs." short_help="Applies a boolean operation on two PolyData inputs."> </Documentation> <Hints> <ShowInMenu category="CGAL"/> </Hints> </SourceProxy> -->
<!-- ==================================================================== -->
<SourceProxy
name="CGALSelfIntersectionMeasurer"
class="stkCGALSelfIntersectionMeasurer"
label="CGAL Self Intersection Measurer">
<Documentation
long_help="Finds self intersections inside a polygonal mesh and stores the information in an array."
short_help="Finds self intersections inside a polygonal mesh." />

<InputProperty
name="InputMesh"
port_index="0"
command="SetInputConnection">
<ProxyGroupDomain name="groups">
<Group name="sources" />
<Group name="filters" />
</ProxyGroupDomain>
<DataTypeDomain name="input_type">
<DataType value="vtkDataSet" />
</DataTypeDomain>
<Documentation>
Set the source data set.
</Documentation>
</InputProperty>

<StringVectorProperty
name="SelfIntersectionsArrayName"
command="SetSelfIntersectionsArrayName"
number_of_elements="1"
animateable="0"
default_values="Self-Intersections"
panel_visibility="advanced">
<Documentation>
Name of the Self-Intersections array.
</Documentation>
</StringVectorProperty>

<IntVectorProperty
name="IterateByConnectivity"
command="SetIterateByConnectivity"
label="Iterate By Connectivity"
number_of_elements="1"
default_values="1">
<BooleanDomain name="bool" />
<Documentation>
Checks self-intersections independently for every geometrically non-connected mesh of the polydata.
Fixes some issues where you have multiple disjoint zones.
</Documentation>
</IntVectorProperty>

<IntVectorProperty
name="PrintSelfIntersectingPairs"
command="SetPrintSelfIntersectingPairs"
number_of_elements="1"
default_values="0">
<BooleanDomain name="bool" />
<Documentation>
Print pairs of triangles self-intersecting themselves to the console output.
</Documentation>
</IntVectorProperty>

<IntVectorProperty
name="RepairSelfIntersections"
command="SetRepairSelfIntersections"
number_of_elements="1"
default_values="0">
<BooleanDomain name="bool" />
<Documentation>
Turn On/Off Repair Self-Intersections feature
</Documentation>
</IntVectorProperty>

<IntVectorProperty
name="MaxStep"
command="SetMaxStep"
number_of_elements="1"
default_values="7"
panel_visibility="advanced">
<Documentation>
Maximum number of extra layers of faces considered around self-intersecting faces for repair process
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</IntVectorProperty>

<IntVectorProperty
name="PreserveGenus"
command="SetPreserveGenus"
number_of_elements="1"
default_values="1"
panel_visibility="advanced">
<BooleanDomain name="bool" />
<Documentation>
If false, non-manifold vertices of the input mesh won't be duplicated
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</IntVectorProperty>

<IntVectorProperty
name="OnlyTreatSelfIntersectionsLocally"
command="SetOnlyTreatSelfIntersectionsLocally"
number_of_elements="1"
default_values="0"
panel_visibility="advanced">
<BooleanDomain name="bool" />
<Documentation>
If true, repair process will constrain sharp edges in the hole defined by the diheral angles parameters
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</IntVectorProperty>

<DoubleVectorProperty
name="StrongDihedralAngle"
command="SetStrongDihedralAngle"
number_of_elements="1"
default_values="60.0"
panel_visibility="advanced">
<Documentation>
Parameter to constrain edges
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</DoubleVectorProperty>

<!-- <DoubleVectorProperty name="WeakDihedralAngle" command="SetWeakDihedralAngle" number_of_elements="1" default_values="0.0" panel_visibility="advanced"> <Documentation > Currenly not used (Uintil detect_features++ is integrated) </Documentation> <Hints> <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="RepairSelfIntersections" value="1" /> </Hints> </DoubleVectorProperty> -->

<IntVectorProperty
name="GenerateOldIDsArray"
command="SetGenerateOldIDArray"
number_of_elements="1"
default_values="0">
<BooleanDomain name="bool" />
<Documentation>
Turn On/Off feature to generate array containing original point IDs
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</IntVectorProperty>

<StringVectorProperty
name="OldIDArrayName"
command="SetOldIDArrayName"
number_of_elements="1"
animateable="0"
default_values="OldIDs"
panel_visibility="advanced">
<Documentation>
Name of the array that contains the original point IDs of the mesh
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="RepairSelfIntersections"
value="1" />
</Hints>
</StringVectorProperty>

<IntVectorProperty
name="OutputNullFaceMaskArray"
command="SetOutputNullFaceMaskArray"
number_of_elements="1"
default_values="1"
panel_visibility="advanced">
<BooleanDomain name="bool" />
<Documentation>
Outputs a mask array of faces which couldn't be understood by CGAL.
</Documentation>
</IntVectorProperty>

<StringVectorProperty
name="NullFaceMaskArrayName"
command="SetNullFaceMaskArrayName"
number_of_elements="1"
animateable="0"
default_values="NullFaceMask"
panel_visibility="advanced">
<Documentation>
Name of the mask array indicating which faces are null from CGAL's interpretation.
</Documentation>
<Hints>
<PropertyWidgetDecorator
type="GenericDecorator"
mode="visibility"
property="OutputNullFaceMaskArray"
value="1" />
</Hints>
</StringVectorProperty>

<PropertyGroup label="Measure Self-Intersections">
<Property name="SelfIntersectionsArrayName" />
<Property name="IterateByConnectivity" />
<Property name="PrintSelfIntersectingPairs" />
</PropertyGroup>

<PropertyGroup label="Repair Self-Intersections">
<Property name="RepairSelfIntersections" />
<Property name="MaxStep" />
<Property name="PreserveGenus" />
<Property name="OnlyTreatSelfIntersectionsLocally" />
<Property name="StrongDihedralAngle" />
<!-- <Property name="WeakDihedralAngle" /> -->
<Property name="GenerateOldIDsArray" />
<Property name="OldIDArrayName" />
</PropertyGroup>

<PropertyGroup label="Debugging">
<Property name="OutputNullFaceMaskArray" />
<Property name="NullFaceMaskArrayName" />
</PropertyGroup>

<Hints>
<ShowInMenu category="CGAL" />
</Hints>
</SourceProxy>
<!-- ==================================================================== -->
<SourceProxy
name="CGALPolygonOrientOperator"
class="stkCGALPolygonOrientOperator"
Expand Down
Loading

0 comments on commit 46504ff

Please sign in to comment.