Compute local (plane) metrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(facet_object), | intent(inout) | :: | self | Facet. |
elemental subroutine compute_metrix(self)
!< Compute local (plane) metrix.
class(facet_object), intent(inout) :: self !< Facet.
call self%compute_normal
self%E12 = self%vertex_2 - self%vertex_1
self%E13 = self%vertex_3 - self%vertex_1
self%a = self%E12.dot.self%E12
self%b = self%E12.dot.self%E13
self%c = self%E13.dot.self%E13
self%det = self%a * self%c - self%b * self%b
self%d = self%normal.dot.self%vertex_1
self%bb(1)%x = min(self%vertex_1%x, self%vertex_2%x, self%vertex_3%x)
self%bb(1)%y = min(self%vertex_1%y, self%vertex_2%y, self%vertex_3%y)
self%bb(1)%z = min(self%vertex_1%z, self%vertex_2%z, self%vertex_3%z)
self%bb(2)%x = max(self%vertex_1%x, self%vertex_2%x, self%vertex_3%x)
self%bb(2)%y = max(self%vertex_1%y, self%vertex_2%y, self%vertex_3%y)
self%bb(2)%z = max(self%vertex_1%z, self%vertex_2%z, self%vertex_3%z)
endsubroutine compute_metrix