#pragma once // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IMPORTANT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // // These are data type defines used by Medial Axis. They can be made to use smaller types // to reduce memory or larger types for porous samples to prevent data overflows. typedef unsigned short ss_t; // SS cube and related data type typedef unsigned short bs_t; // BS cube and related data type typedef unsigned int cl_t; // CL cube and related data type typedef unsigned short v_id; #define MA_DIRECT_LINEAR_LINK_DISTANCE 10 // Max distance between MA points for qualifying a direct link #define MA_LINK_LOOK_AHEAD 5 // Number of clusters to look ahead in shortest path to avoid noisy max points #define MA_FORCE_DIRECT_LINK_AT_RECURSION 30 // Prevents to deep of recursions during path centering #define MA_PREALLOC_MAX_LISTS 0 #define MA_PREALLOC_MA_GROUPS 100 #define MA_PREALLOC_GENERAL_QUEUE 1000 // Debug options #define MA_DO_FULL_TRACE 0 // Very detailed trace output to log file, use with 'full_trace_enabled' // to capture specific points where trace is desired (other wise very long) #define MA_DISABLE_LOG_FLUSH 0 // Improves write to log speed, hard drive thrashing, but will be missing // recent log entries. Note that this will effect everything else using log. #define MA_CRASH_ON_FATAL_ERROR true // Set breakpoint in doFullDump() to capture failures, does not require // MA_DO_FULL_TRACE flag to work. // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END IMPORTANT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% //