@staticmethod<EOL><INDENT>def __calc_signed_volume(triangle):<DEDENT>
v321 = triangle[<NUM_LIT:2>][<NUM_LIT:0>] * triangle[<NUM_LIT:1>][<NUM_LIT:1>] * triangle[<NUM_LIT:0>][<NUM_LIT:2>]<EOL>v231 = triangle[<NUM_LIT:1>][<NUM_LIT:0>] * triangle[<NUM_LIT:2>][<NUM_LIT:1>] * triangle[<NUM_LIT:0>][<NUM_LIT:2>]<EOL>v312 = triangle[<NUM_LIT:2>][<NUM_LIT:0>] * triangle[<NUM_LIT:0>][<NUM_LIT:1>] * triangle[<NUM_LIT:1>][<NUM_LIT:2>]<EOL>v132 = triangle[<NUM_LIT:0>][<NUM_LIT:0>] * triangle[<NUM_LIT:2>][<NUM_LIT:1>] * triangle[<NUM_LIT:1>][<NUM_LIT:2>]<EOL>v213 = triangle[<NUM_LIT:1>][<NUM_LIT:0>] * triangle[<NUM_LIT:0>][<NUM_LIT:1>] * triangle[<NUM_LIT:2>][<NUM_LIT:2>]<EOL>v123 = triangle[<NUM_LIT:0>][<NUM_LIT:0>] * triangle[<NUM_LIT:1>][<NUM_LIT:1>] * triangle[<NUM_LIT:2>][<NUM_LIT:2>]<EOL>signed_volume = (-v321 + v231 + v312 - v132 - v213 + v123) / <NUM_LIT><EOL>return signed_volume<EOL>
Calculate signed volume of given triangle
        :param list of list triangle:
        :rtype float