50    procedure box_union_constructor
 
   57    integer, 
intent(in) :: dim
 
   58    class(box_union_t), 
pointer :: box
 
   64    safe_allocate(box%bounding_box_l(1:dim))
 
   68    box%bounding_box_l = 
m_zero 
   75    type(box_union_t), 
intent(inout) :: this
 
   86    class(box_union_t), 
intent(in) :: this
 
   87    integer,            
intent(in) :: nn
 
   88    real(real64), 
contiguous,  
intent(in) :: xx(:,:)
 
   89    logical :: contained(nn)
 
   92    real(real64) :: point(1:this%dim)
 
   93    type(box_iterator_t) :: iter
 
   94    class(box_t), 
pointer :: box
 
   98      point(1:this%dim) = xx(ip, 1:this%dim)
 
   99      contained(ip) = .false.
 
  101      call iter%start(this%list)
 
  102      do while (iter%has_next())
 
  103        box => iter%get_next()
 
  104        contained(ip) = box%contains_point(point)
 
  105        if (contained(ip)) 
exit 
  108      contained(ip) = contained(ip) .neqv. this%is_inside_out()
 
  115    class(box_union_t),          
intent(in) :: this
 
  116    integer,           
optional, 
intent(in) :: iunit
 
  117    type(namespace_t), 
optional, 
intent(in) :: namespace
 
  128    class(box_union_t), 
intent(in) :: this
 
  129    type(unit_t),       
intent(in) :: unit_length
 
subroutine box_union_write_info(this, iunit, namespace)
 
subroutine box_union_finalize(this)
 
class(box_union_t) function, pointer box_union_constructor(dim)
 
character(len=box_info_len) function box_union_short_info(this, unit_length)
 
recursive logical function, dimension(nn) box_union_contains_points(this, nn, xx)
 
real(real64), parameter, public m_zero
 
This module implements fully polymorphic linked lists, and some specializations thereof.
 
subroutine, public multibox_end(this)
 
brief This module defines the class unit_t which is used by the unit_systems_oct_m module.
 
Class implementing a box that is an union other boxes.
 
Abstract class for boxes that are made up of a list of boxes.