Manifold 3.0
Robust geometry
Loading...
Searching...
No Matches
Debug

Debugging features. More...

Classes

struct  ExecutionParams
 Global parameters that control debugging output. Only has an effect when compiled with the MANIFOLD_DEBUG flag. More...
struct  userErr
struct  topologyErr
struct  geometryErr

Macros

#define DEBUG_ASSERT(condition, EX, msg)
#define ASSERT(condition, EX)

Typedefs

using logicErr = std::logic_error

Functions

ExecutionParamsManifoldParams ()
std::string ToString (const Manifold::Error &error)
std::ostream & operator<< (std::ostream &stream, const Manifold::Error &error)

Detailed Description

Debugging features.

The features require compiler flags to be enabled. Assertions are enabled with the MANIFOLD_DEBUG flag and then controlled with ExecutionParams.


Class Documentation

◆ manifold::ExecutionParams

struct manifold::ExecutionParams

Global parameters that control debugging output. Only has an effect when compiled with the MANIFOLD_DEBUG flag.

Class Members
bool intermediateChecks = false

Perform extra sanity checks and assertions on the intermediate data structures.

bool selfIntersectionChecks = false

Perform 3D mesh self-intersection test on intermediate boolean results to test for ϵ-validity. For debug purposes only.

bool processOverlaps = true

If processOverlaps is false, a geometric check will be performed to assert all triangles are CCW.

bool suppressErrors = false

Suppresses printed errors regarding CW triangles. Has no effect if processOverlaps is true.

bool cleanupTriangles = true

Deprecated! This value no longer has any effect, as cleanup now only occurs on intersected triangles.

int verbose = 0

Verbose level:

  • 0 for no verbose output
  • 1 for Boolean debug dumps on failures and invalid intermediate meshes.
  • 2 for Boolean timing and size statistics, plus triangulator action.

Function Documentation

◆ ManifoldParams()

ExecutionParams & ManifoldParams ( )

Allows modification of the assertions checked in MANIFOLD_DEBUG mode.

Returns
ExecutionParams&