Synopsis

PDX_MSGT gdb_MeasureCBSComplexity(long option, MDA_PTR gdx_cbs_ptr, double tolerance, double *score, GDB_CBS_COMPLEXITY *gdb_cbs_scores)

Purpose

Measures the complexity of a GDX Curve Bounded Surf (CBS)

Description

Measures the complexity of a GDX CBS. Analyzes CBS and assigns a score based on the geometric, parametric, and data complexity of the CBS.

Input

option

GDB_LEAST_ACCURACY

Use the least accurate but fastest method.

GDB_MID_ACCURACY

Use middle accuracy method.

GDB_MOST_ACCURACY

Use most accurate but slowest method.

gdx_cbs_ptr

The GDX CBS to be analyzed.

tolerance

Tolerance used to determine curve closure and curve degeneracy.

Output

score

The complexity score.

gdb_cbs_scores

If this pointer is NULL, then it is not used. Otherwise, the individual scores for each category are returned.

Return

      GDB_NOERR
      Low level error return
      .fi
                        Point Preferrence
                        ~~~~~~~~~~~~~~~~~~
   int   surf_flag      ;   1 point if surf is closed
   int   surf_complex   ;  VAL of Measured surf complexity
   int   io_closed_surf ;   5 points implicit_outer with an open surf
   int   io_fio         ;   5 points IO with First Is Outer
   int   no_bounds      ;  25 points for zero bounds with IO
   int   cec_complex    ;  VAL of Measured CEC Complexity
   int   more_cap_loops ;   5 points if more than 2 CAP Loops
   int   cap_no_pole    ;   5 points if one CAP Loop with no Pole 
   int   more_outers    ;   5 points if More than one Outer loops
   Score is calculated by adding up all the points and divided 
   with normalizer which is "5". Score heigher than 1.0 is 
   considered as complex CBS and heigher than its normalizer is 
   considered as FATAL.