Files
PozzettiAndrea-ComfyUI-Geom…/assets/libigl_tutorial_data/README.md
T
2025-11-14 22:04:06 +01:00

3.5 KiB

Self-Intersecting Test Meshes (from libigl Tutorial Data)

This directory contains meshes from the libigl tutorial data that have been verified to contain self-intersections for demonstrating the self-intersection detection and repair nodes in ComfyUI GeometryPack.

Test Meshes

All meshes are from alecjacobson/libigl-tutorial-data and have been verified using libigl CGAL detection:

1. camelhead.off (749 KB) ✓ Verified

  • Intersections: 5 pairs, 6 faces affected
  • Classic camel head mesh from computer graphics
  • Minimal self-intersections - good for basic testing
  • Best for: Simple repair demonstrations

2. camel_b.obj (211 KB) ✓ Verified

  • Intersections: 23 pairs, 20 faces affected
  • Full camel body mesh
  • Moderate intersection count
  • Best for: Testing on organic shapes

3. cow.off (182 KB) ✓ Verified

  • Intersections: 83 pairs, 81 faces affected
  • Classic cow mesh
  • More complex intersections
  • Best for: Medium complexity testing

4. truck.obj (163 KB) ✓ Verified

  • Intersections: 424 pairs, 417 faces affected
  • Truck/vehicle mesh with many intersections
  • Most complex case in this set
  • Best for: Stress testing repair algorithms

Usage in ComfyUI

  1. Load any mesh using the Load Mesh node
  2. Connect to Detect Self Intersections node to visualize problems
  3. Use Remesh Self Intersections node to attempt repairs
  4. View results with Preview Mesh VTK (Hidable Menu) node

Detection Requirements

The self-intersection detection and repair nodes require:

  • libigl Python bindings (with CGAL support)
  • Already installed in the cad_node conda environment

Mesh Statistics

Mesh Intersection Pairs Affected Faces Size
camelhead.off 5 6 749 KB
camel_b.obj 23 20 211 KB
cow.off 83 81 182 KB
truck.obj 424 417 163 KB

Verified Detection Results

When using Detect Self Intersections node, these are the confirmed results:

  • camelhead.off: ✓ Detects 5 intersection pairs (6 faces affected)
  • camel_b.obj: ✓ Detects 23 intersection pairs (20 faces affected)
  • cow.off: ✓ Detects 83 intersection pairs (81 faces affected)
  • truck.obj: ✓ Detects 424 intersection pairs (417 faces affected)

Visualization

Use Preview Mesh (VTK with Fields) node to visualize:

  • Scalar field self_intersecting on faces (1.0 = intersecting, 0.0 = valid)
  • Scalar field intersection_flag on vertices (1.0 = adjacent to intersection)
  • Scalar field intersection_count showing number of intersecting faces per vertex

Repair Options

Remesh Self Intersections node parameters:

  • detect_only=False - Actually remesh (subdivide intersecting triangles)
  • remove_unreferenced=True - Clean up unused vertices
  • extract_outer_hull=False - Extract outer hull for manifold result (slow but clean)
  • stitch_all=True - Attempt to stitch boundaries

Scripts

  • test_intersections.py - Script to test meshes for self-intersections
  • intersection_test_results.txt - Test results log

Notes

  • These are real-world meshes from graphics research, not synthetic test cases
  • Complexity ranges from minimal (camelhead) to significant (truck)
  • All meshes successfully tested with libigl CGAL detection
  • Original source: libigl tutorial data repository

Attribution

Test meshes sourced from libigl tutorial data (Alec Jacobson et al.)