Definition of an intersection. More...
Public Member Functions | |
procedure | apply_transformation (intersection, transformation, ray, has_normal) |
Apply transformation and compute the distance. | |
pure type(t_intersection) function | rt_intersection_partial_initialization (point, distance) |
Initialize an interface from point and distance only. | |
pure type(t_intersection) function | rt_intersection_partial_initialization_no_tag (point, distance, normal) |
Initialize an interface from point and distance only. | |
Definition of an intersection.
procedure mod_ray_tracing::t_intersection::apply_transformation | ( | class(t_intersection), intent(inout) | intersection, |
type(t_cg_transformation), intent(in) | transformation, | ||
type(t_ray), intent(in) | ray, | ||
logical, intent(in) | has_normal ) |
Apply transformation and compute the distance.
[in,out] | intersection | Intersection. |
[in] | transformation | transformation. |
[in] | ray | ray in the original frame. |
[in] | has_normal | Apply transformation to the normal. |
pure type(t_intersection) function mod_ray_tracing::t_intersection::rt_intersection_partial_initialization | ( | double precision, dimension(3), intent(in) | point, |
double precision, intent(in) | distance ) |
Initialize an interface from point and distance only.
The normal vector is set to null vector.
[in] | point | Intersection point |
[in] | distance | Intersection distance |
pure type(t_intersection) function mod_ray_tracing::t_intersection::rt_intersection_partial_initialization_no_tag | ( | double precision, dimension(3), intent(in) | point, |
double precision, intent(in) | distance, | ||
double precision, dimension(3), intent(in) | normal ) |
Initialize an interface from point and distance only.
The normal vector is set to null vector.
[in] | point | Intersection point |
[in] | distance | Intersection distance |
[in] | normal | Normal vector at the intersection point |