is_intersecting Function

public function is_intersecting(cube, geometry, obj_pos) result(intersects)

Test the intersection between the given cube and the object specified by obj_pos.

This test obviously depends on the kind of object to intersect, thus a select case has to be used. Alternatively we might think of deploying function pointers.

Arguments

Type IntentOptional Attributes Name
type(tem_cube_type), intent(in) :: cube
type(sdr_geometry_type), intent(in) :: geometry
integer, intent(in) :: obj_pos

Return Value logical


Calls

proc~~is_intersecting~~CallsGraph proc~is_intersecting is_intersecting sdr_periodicplanecubeoverlap sdr_periodicplanecubeoverlap proc~is_intersecting->sdr_periodicplanecubeoverlap sdr_spacerinterwovencubeoverlap sdr_spacerinterwovencubeoverlap proc~is_intersecting->sdr_spacerinterwovencubeoverlap tem_boxCubeOverlap tem_boxCubeOverlap proc~is_intersecting->tem_boxCubeOverlap tem_cylinderCubeOverlap tem_cylinderCubeOverlap proc~is_intersecting->tem_cylinderCubeOverlap tem_ellipsoidCubeOverlap tem_ellipsoidCubeOverlap proc~is_intersecting->tem_ellipsoidCubeOverlap tem_lineCubeOverlap tem_lineCubeOverlap proc~is_intersecting->tem_lineCubeOverlap tem_pointCubeOverlap tem_pointCubeOverlap proc~is_intersecting->tem_pointCubeOverlap tem_sphereCubeOverlap tem_sphereCubeOverlap proc~is_intersecting->tem_sphereCubeOverlap tem_triangleCubeOverlap tem_triangleCubeOverlap proc~is_intersecting->tem_triangleCubeOverlap val val proc~is_intersecting->val

Called by

proc~~is_intersecting~~CalledByGraph proc~is_intersecting is_intersecting proc~create_children~2 create_children proc~create_children~2->proc~is_intersecting proc~inherit_intersectedobject inHerit_intersectedObject proc~inherit_intersectedobject->proc~is_intersecting proc~sdr_build_prototree sdr_build_protoTree proc~sdr_build_prototree->proc~create_children~2 proc~sdr_inherit_distancerefineobject sdr_inHerit_distanceRefineObject proc~sdr_inherit_distancerefineobject->proc~inherit_intersectedobject proc~sdr_refine_leaf sdr_refine_leaf proc~sdr_refine_leaf->proc~inherit_intersectedobject program~seeder seeder program~seeder->proc~sdr_build_prototree program~seeder->proc~sdr_inherit_distancerefineobject program~seeder->proc~sdr_refine_leaf