Axistest Function

private function Axistest(dirVec, edge, nodes, boxhalfwidth) result(success)

This function check whether there is separating axis between triangle and box. This function can be optimized by explicitly providing cross_product result see example: http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/code/tribox3.txt

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: dirVec(3)
real(kind=rk), intent(in) :: edge(3)
real(kind=rk), intent(in) :: nodes(3,3)
real(kind=rk), intent(in) :: boxhalfwidth(3)

Return Value logical


Calls

proc~~axistest~~CallsGraph proc~axistest Axistest proc~cross_product3d cross_product3D proc~axistest->proc~cross_product3d

Called by

proc~~axistest~~CalledByGraph proc~axistest Axistest proc~triboxoverlap_loc triBoxOverlap_loc proc~triboxoverlap_loc->proc~axistest proc~tem_trianglecubeoverlap tem_triangleCubeOverlap proc~tem_trianglecubeoverlap->proc~triboxoverlap_loc proc~tem_planecubeoverlap tem_planeCubeOverlap proc~tem_planecubeoverlap->proc~tem_trianglecubeoverlap proc~tem_shape_subtreefromgeominters tem_shape_subTreeFromGeomInters proc~tem_shape_subtreefromgeominters->proc~tem_trianglecubeoverlap proc~tem_stlcubeoverlap tem_stlCubeOverlap proc~tem_shape_subtreefromgeominters->proc~tem_stlcubeoverlap proc~tem_stlcubeoverlap->proc~tem_trianglecubeoverlap proc~tem_create_subtree_of tem_create_subTree_of proc~tem_create_subtree_of->proc~tem_shape_subtreefromgeominters proc~tem_cano_initsubtree tem_cano_initSubTree proc~tem_cano_initsubtree->proc~tem_planecubeoverlap proc~tem_boxcubeoverlap tem_boxCubeOverlap proc~tem_boxcubeoverlap->proc~tem_planecubeoverlap

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: vecA(3)
real(kind=rk), private :: p1
real(kind=rk), private :: p2
real(kind=rk), private :: p3
real(kind=rk), private :: pmin
real(kind=rk), private :: pmax
real(kind=rk), private :: rad