tem_intersection_module Module

Todo

Add description



Derived Types

type, public ::  tem_line

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: coordStart(3)

real world coordinates of the start point of the ray

real(kind=rk), public :: direction(3)

direction vector of the line

type, public ::  tem_plane

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: coord(3)

real world coordinates of one point of the plane

real(kind=rk), public :: normal(3)

normal vector of the plane

type, public ::  tem_intersec

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: lambda

value of lamda (parameter of the line) of the intersection

real(kind=rk), public :: coord(3)

real world coordinates of the intersection

real(kind=rk), public :: distance(3)

distance between the center of the face (element) and the intersection

type, public ::  tem_intersec_elem

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: center(3)
real(kind=rk), public :: length

Subroutines

public subroutine exit_element(TreeID, line, tree)

This subroutine checks at which face, edge or corner the line leaves the element and calculates the next element.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=long_k), intent(in) :: TreeID
type(tem_line) :: line
type(treelmesh_type), intent(in) :: tree

public subroutine tem_intersec_line_plane(plane, line, intersects, intersection)

This subroutine calculates the intersection between a plane and a line. It gives back the coordinates of the intersection, the multiple of the direction vector of the intersection and the distance of the intersection to the center point of the plan.

Arguments

Type IntentOptional Attributes Name
type(tem_plane), intent(in) :: plane
type(tem_line), intent(in) :: line
logical, intent(out) :: intersects
type(tem_intersec), intent(out) :: intersection

public subroutine tem_intersec_line_line(edge, line, intersects, intersection)

This subroutine calculates the intersection between a line and a line. It gives back the coordinates of the intersection, the multiple of the direction vector of the intersection and the distance of the intersection to the center point of the line.

Arguments

Type IntentOptional Attributes Name
type(tem_line), intent(in) :: edge
type(tem_line), intent(in) :: line
logical, intent(out) :: intersects
type(tem_intersec), intent(out) :: intersection

public subroutine tem_intersec_ray_point(point, line, intersects, intersection)

This subroutine checks whether a line intersects with a point

Arguments

Type IntentOptional Attributes Name
real(kind=rk), dimension(3) :: point
type(tem_line) :: line
logical :: intersects
type(tem_intersec) :: intersection