23 #define VERDICT_EXPORTS
68 side1.
set( coordinates[1][0] - coordinates[0][0], coordinates[1][1] - coordinates[0][1],
69 coordinates[1][2] - coordinates[0][2] );
70 side2.
set( coordinates[3][0] - coordinates[0][0], coordinates[3][1] - coordinates[0][1],
71 coordinates[3][2] - coordinates[0][2] );
72 side3.
set( coordinates[4][0] - coordinates[0][0], coordinates[4][1] - coordinates[0][1],
73 coordinates[4][2] - coordinates[0][2] );
75 volume = side3 % ( side1 * side2 ) / 6;
77 side1.
set( coordinates[5][0] - coordinates[1][0], coordinates[5][1] - coordinates[1][1],
78 coordinates[5][2] - coordinates[1][2] );
79 side2.
set( coordinates[3][0] - coordinates[1][0], coordinates[3][1] - coordinates[1][1],
80 coordinates[3][2] - coordinates[1][2] );
81 side3.
set( coordinates[4][0] - coordinates[1][0], coordinates[4][1] - coordinates[1][1],
82 coordinates[4][2] - coordinates[1][2] );
84 volume += side3 % ( side1 * side2 ) / 6;
86 side1.
set( coordinates[2][0] - coordinates[1][0], coordinates[2][1] - coordinates[1][1],
87 coordinates[2][2] - coordinates[1][2] );
88 side2.
set( coordinates[3][0] - coordinates[1][0], coordinates[3][1] - coordinates[1][1],
89 coordinates[3][2] - coordinates[1][2] );
90 side3.
set( coordinates[6][0] - coordinates[1][0], coordinates[6][1] - coordinates[1][1],
91 coordinates[6][2] - coordinates[1][2] );
93 volume += side3 % ( side1 * side2 ) / 6;
95 side1.
set( coordinates[3][0] - coordinates[1][0], coordinates[3][1] - coordinates[1][1],
96 coordinates[3][2] - coordinates[1][2] );
97 side2.
set( coordinates[5][0] - coordinates[1][0], coordinates[5][1] - coordinates[1][1],
98 coordinates[5][2] - coordinates[1][2] );
99 side3.
set( coordinates[6][0] - coordinates[1][0], coordinates[6][1] - coordinates[1][1],
100 coordinates[6][2] - coordinates[1][2] );
102 volume += side3 % ( side1 * side2 ) / 6;
105 return (
double)volume;
118 double coordinates[][3],
119 unsigned int metrics_request_flag,