plastimatch
Loading...
Searching...
No Matches
volume_limit.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _volume_limit_h_
5#define _volume_limit_h_
6
7#include "plmbase_config.h"
8
15
17public:
18 /* upper and lower limits of volume, including tolerances */
19 double lower_limit[3];
20 double upper_limit[3];
21
22 /* dir == 0 if lower_limit corresponds to lower index */
23 int dir[3];
24public:
25 int clip_ray (
26 double *ip1, /* OUTPUT: Intersection point 1 */
27 double *ip2, /* OUTPUT: Intersection point 2 */
28 const double *p1, /* INPUT: Starting point of ray */
29 const double *ray /* INPUT: Direction of ray */
30 );
31 int clip_segment (
32 double *ip1, /* OUTPUT: Intersection point 1 */
33 double *ip2, /* OUTPUT: Intersection point 2 */
34 const double *p1, /* INPUT: Line segment point 1 */
35 const double *p2 /* INPUT: Line segment point 2 */
36 );
37 void find_limit (const Volume *vol);
38 void find_limit (const Volume::Pointer& vol);
39 Point_location test_boundary (int d, double x);
40 void print ();
41};
42
43#endif
Definition volume_limit.h:16
The Volume class represents a three-dimensional volume on a uniform grid. The volume can be located a...
Definition volume.h:38
#define PLMBASE_API
Definition plmbase_config.h:19
point_location
Definition volume_limit.h:9
@ POINTLOC_INSIDE
Definition volume_limit.h:11
@ POINTLOC_LEFT
Definition volume_limit.h:10
@ POINTLOC_RIGHT
Definition volume_limit.h:12
enum point_location Point_location
Definition volume_limit.h:14