geo_rep< T, sequential >
Inheritance diagram for geo_rep< T, sequential >:

## Public Types

typedef geo_base_rep< T, sequential > | base
typedef base::size_type | size_type
typedef base::node_type | node_type
typedef base::variant_type | variant_type
typedef base::reference | reference
typedef base::const_reference | const_reference
typedef base::iterator | iterator
typedef base::const_iterator | const_iterator
typedef base::iterator_by_variant | iterator_by_variant
typedef base::const_iterator_by_variant | const_iterator_by_variant
typedef base::coordinate_type | coordinate_type
typedef base::geo_element_map_type | geo_element_map_type
Public Types inherited from geo_base_rep< T, sequential >
typedef geo_abstract_rep< T, sequential > | base
typedef base::size_type | size_type
typedef base::node_type | node_type
typedef base::variant_type | variant_type
typedef base::iterator | iterator
typedef base::const_iterator | const_iterator
typedef base::iterator_by_variant | iterator_by_variant
typedef base::const_iterator_by_variant | const_iterator_by_variant
typedef base::reference | reference
typedef base::const_reference | const_reference
typedef base::coordinate_type | coordinate_type
typedef std::unordered_map< std::string, void * > | loaded_map_t
Public Types inherited from geo_abstract_rep< T, sequential >
typedef geo_abstract_base_rep< T > | base
typedef base::size_type | size_type
typedef base::node_type | node_type
typedef base::variant_type | variant_type
typedef base::iterator | iterator
typedef base::const_iterator | const_iterator
typedef base::iterator_by_variant | iterator_by_variant
typedef base::const_iterator_by_variant | const_iterator_by_variant
typedef base::reference | reference
typedef base::const_reference | const_reference
Public Types inherited from geo_abstract_base_rep< T >
enum | geo_rep_variant_type { geo = 0, geo_domain = 1, geo_domain_indirect = 2, max_variant = 3 }
typedef geo_element_hack::size_type | size_type
typedef point_basic< T > | node_type
typedef reference_element::variant_type | variant_type
typedef geo_element & | reference
typedef space_constant::coordinate_type | coordinate_type
typedef std::map< size_type, geo_element_auto<> > | geo_element_map_type
typedef hack_array< geo_element_hack >::iterator | iterator_by_variant
typedef geo_iterator< geo_element, geo_element &, geo_element *, iterator_by_variant > | iterator
typedef hack_array< geo_element_hack >::const_iterator | const_iterator_by_variant
typedef geo_iterator< geo_element, const geo_element &, const geo_element *, const_iterator_by_variant > | const_iterator

## Public Member Functions

| geo_rep ()
| geo_rep (const geo_rep< T, sequential > &)
geo_abstract_rep< T, sequential > * | clone () const
| geo_rep (const geo_basic< T, sequential > &lambda, const disarray< point_basic< T >, sequential > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, sequential >, reference_element::max_variant > &elt_list)
void | build_from_domain (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &omega, std::map< size_type, size_type > &bgd_ie2dom_ie, std::map< size_type, size_type > &dis_bgd_ie2dis_dom_ie)
void | locate (const disarray< point_basic< T >, sequential > &x, disarray< size_type, sequential > &dis_ie, bool do_check=false) const
void | trace_ray_boundary (const disarray< point_basic< T >, sequential > &x, const disarray< point_basic< T >, sequential > &v, disarray< size_type, sequential > &dis_ie, disarray< point_basic< T >, sequential > &y, bool do_check=false) const
void | trace_move (const disarray< point_basic< T >, sequential > &x, const disarray< point_basic< T >, sequential > &v, disarray< size_type, sequential > &dis_ie, disarray< point_basic< T >, sequential > &y) const
void | nearest (const disarray< point_basic< T >, sequential > &x, disarray< point_basic< T >, sequential > &x_nearest, disarray< size_type, sequential > &dis_ie) const
size_type | map_dimension () const
bool | is_broken () const
const distributor & | geo_element_ownership (size_type dim) const
const_reference | get_geo_element (size_type dim, size_type ige) const
reference | get_geo_element (size_type dim, size_type ige)
iterator | begin (size_type dim)
iterator | end (size_type dim)
const_iterator | begin (size_type dim) const
const_iterator | end (size_type dim) const
const geo_element_map_type & | get_external_geo_element_map (size_type variant) const
const domain_indirect_basic< sequential > & | get_domain_indirect (size_type idom) const
const domain_indirect_basic< sequential > & | get_domain_indirect (const std::string &name) const
const distributor & | vertex_ownership () const
const_reference | operator[] (size_type ie) const
reference | operator[] (size_type ie)
idiststream & | get (idiststream &)
| io for geo More...
odiststream & | put_geo (odiststream &) const
odiststream & | put (odiststream &ops) const
void | dump (std::string name) const
void | load (std::string name, const communicator &=communicator())
bool | check (bool verbose) const
void | reset_order (size_type order)
void | build_by_subdividing (const geo_basic< T, sequential > &omega, size_type k)
void | build_from_data (const geo_header &hdr, const disarray< node_type, sequential > &node, std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element, bool do_upgrade)
Public Member Functions inherited from geo_base_rep< T, sequential >
| geo_base_rep ()
| geo_base_rep (const geo_base_rep< T, sequential > &)
void | build_from_list (const geo_basic< T, sequential > &lambda, const disarray< point_basic< T >, sequential > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, sequential >, reference_element::max_variant > &elt_list)
| ~geo_base_rep ()
size_type | variant () const
std::string | familyname () const
std::string | name () const
size_type | serial_number () const
size_type | dimension () const
size_type | map_dimension () const
bool | is_broken () const
coordinate_type | coordinate_system () const
void | set_coordinate_system (coordinate_type sys_coord)
void | set_name (std::string name)
void | set_dimension (size_type dim)
void | set_serial_number (size_type i)
const basis_basic< T > & | get_piola_basis () const
const node_type & | xmin () const
const node_type & | xmax () const
const T & | hmin () const
const T & | hmax () const
const geo_size & | sizes () const
const geo_size & | ios_sizes () const
const distributor & | geo_element_ownership (size_type dim) const
const_reference | get_geo_element (size_type dim, size_type ige) const
reference | get_geo_element (size_type dim, size_type ige)
const_reference | dis_get_geo_element (size_type dim, size_type dis_ige) const
const_iterator_by_variant | begin_by_variant (variant_type variant) const
iterator_by_variant | begin_by_variant (variant_type variant)
const_iterator_by_variant | end_by_variant (variant_type variant) const
iterator_by_variant | end_by_variant (variant_type variant)
const node_type & | node (size_type inod) const
const node_type & | node (const geo_element &K, size_type loc_inod) const
const node_type & | dis_node (size_type dis_inod) const
void | dis_inod (const geo_element &K, std::vector< size_type > &dis_inod) const
const disarray< node_type, sequential > & | get_nodes () const
void | set_nodes (const disarray< node_type, sequential > &x)
size_type | n_domain_indirect () const
bool | have_domain_indirect (const std::string &name) const
const domain_indirect_basic< sequential > & | get_domain_indirect (size_type i) const
const domain_indirect_basic< sequential > & | get_domain_indirect (const std::string &name) const
void | insert_domain_indirect (const domain_indirect_basic< sequential > &dom) const
size_type | seq_locate (const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
size_type | dis_locate (const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
size_type | seq_trace_move (const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
size_type | dis_trace_move (const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
size_type | seq_nearest (const point_basic< T > &x, point_basic< T > &x_nearest) const
size_type | dis_nearest (const point_basic< T > &x, point_basic< T > &x_nearest) const
size_type | neighbour (size_type ie, size_type loc_isid) const
void | neighbour_guard () const
iterator | begin (size_type dim)
| iterator by dimension: wraps iterator by geo_element variant More...
const_iterator | begin (size_type dim) const
const_iterator | begin () const
iterator | end (size_type dim)
const_iterator | end (size_type dim) const
const_iterator | end () const
size_type | size (size_type dim) const
size_type | size () const
size_type | dis_size (size_type dim) const
size_type | dis_size () const
const distributor & | ownership () const
const distributor & | vertex_ownership () const
const communicator & | comm () const
size_type | order () const
size_type | n_node () const
size_type | dis_n_node () const
size_type | n_vertex () const
size_type | dis_n_vertex () const
size_type | dis_n_edge () const
size_type | dis_n_face () const
size_type | dis_inod2dis_iv (size_type dis_inod) const
size_type | dis_iv2dis_inod (size_type dis_iv) const
const_reference | operator[] (size_type ie) const
reference | operator[] (size_type ie)
const_iterator | begin_edge () const
const_iterator | end_edge () const
const_iterator | begin_face () const
const_iterator | end_face () const
Public Member Functions inherited from geo_abstract_rep< T, sequential >
| geo_abstract_rep ()
virtual | ~geo_abstract_rep ()
virtual const disarray< node_type, sequential > & | get_nodes () const =0
Public Member Functions inherited from geo_abstract_base_rep< T >
| geo_abstract_base_rep ()
virtual | ~geo_abstract_base_rep ()
virtual size_type | variant () const =0
virtual std::string | name () const =0
virtual std::string | familyname () const =0
virtual size_type | dimension () const =0
virtual size_type | serial_number () const =0
virtual coordinate_type | coordinate_system () const =0
virtual const basis_basic< T > & | get_piola_basis () const =0
virtual const node_type & | xmin () const =0
virtual const node_type & | xmax () const =0
virtual const T & | hmin () const =0
virtual const T & | hmax () const =0
virtual const geo_size & | sizes () const =0
virtual const geo_size & | ios_sizes () const =0
virtual const geo_element & | bgd2dom_geo_element (const geo_element &bgd_K) const
virtual const geo_element & | dom2bgd_geo_element (const geo_element &dom_K) const
virtual void | neighbour_guard () const =0
const_iterator | begin (size_type dim) const
const_iterator | end (size_type dim) const
virtual size_type | n_node () const =0
virtual size_type | n_domain_indirect () const =0
bool | operator== (const geo_abstract_base_rep< T > &omega2) const

## Protected Member Functions

idiststream & | get_standard (idiststream &, const geo_header &)
idiststream & | get_upgrade (idiststream &, const geo_header &)
| upgrade for geo More...
void | build_connectivity (std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element)
void | build_connectivity_sides (size_type side_dim, std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element)
void | set_element_side_index (size_type side_dim)
void | domain_set_side_part1 (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &bgd_omega, size_type sid_dim, disarray< size_type, sequential > &bgd_isid2dom_dis_isid, disarray< size_type, sequential > &dom_isid2bgd_isid, disarray< size_type, sequential > &dom_isid2dom_ios_dis_isid, size_type size_by_variant[reference_element::max_variant])

void

domain_set_side_part2 (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &bgd_omega, disarray< size_type, sequential > &bgd_iv2dom_dis_iv, size_type sid_dim, disarray< size_type, sequential > &bgd_isid2dom_dis_isid, disarray< size_type, sequential > &dom_isid2bgd_isid, disarray< size_type, sequential > &dom_isid2dom_ios_dis_isid, size_type size_by_variant[reference_element::max_variant])

void | build_external_entities ()
Protected Member Functions inherited from geo_base_rep< T, sequential >
void | compute_bbox ()
void | init_neighbour () const

## Additional Inherited Members

Static Public Member Functions inherited from geo_base_rep< T, sequential >
static loaded_map_t & | loaded_map ()
Public Attributes inherited from geo_abstract_base_rep< T >
const typedef geo_element & | const_reference
Protected Attributes inherited from geo_base_rep< T, sequential >
std::string | _name
size_type | _version
size_type | _serial_number
std::array< hack_array< geo_element_hack, sequential >, reference_element::max_variant > | _geo_element
geo_size | _gs
std::vector< domain_indirect_basic< sequential > > | _domains
bool | _have_connectivity
bool | _have_neighbour
disarray< node_type, sequential > | _node
size_type | _dimension
coordinate_type | _sys_coord
node_type | _xmin
node_type | _xmax
T | _hmin
T | _hmax
basis_basic< T > | _piola_basis
geo_locate< T, sequential > | _locator
geo_trace_ray_boundary< T, sequential > | _tracer_ray_boundary
geo_nearest< T, sequential > | _nearestor
Static Protected Attributes inherited from geo_base_rep< T, sequential >
static loaded_map_t | _loaded_map

## Detailed Description

### template<class T>
class rheolef::geo_rep< T, sequential >

Definition at line 786 of file geo.h.

## Member Typedef Documentation

## base

typedef geo_base_rep<T,sequential> base

Definition at line 790 of file geo.h.

## size_type

typedef base::size_type size_type

Definition at line 791 of file geo.h.

## node_type

typedef base::node_type node_type

Definition at line 792 of file geo.h.

## variant_type

typedef base::variant_type variant_type

Definition at line 793 of file geo.h.

## reference

typedef base::reference reference

Definition at line 794 of file geo.h.

## const_reference

typedef base::const_reference const_reference

Definition at line 795 of file geo.h.

## iterator

typedef base::iterator iterator

Definition at line 796 of file geo.h.

## const_iterator

typedef base::const_iterator const_iterator

Definition at line 797 of file geo.h.

## iterator_by_variant

typedef base::iterator_by_variant iterator_by_variant

Definition at line 798 of file geo.h.

## const_iterator_by_variant

typedef base::const_iterator_by_variant const_iterator_by_variant

Definition at line 799 of file geo.h.

## coordinate_type

typedef base::coordinate_type coordinate_type

Definition at line 800 of file geo.h.

## geo_element_map_type

typedef base::geo_element_map_type geo_element_map_type

Definition at line 801 of file geo.h.

## Constructor & Destructor Documentation

## geo_rep() [1/3]

geo_rep

Definition at line 85 of file geo.cc.

## geo_rep() [2/3]

geo_rep | ( | const geo_rep< T, sequential > & | omega | ) |

Definition at line 90 of file geo.cc.

## geo_rep() [3/3]

geo_rep | ( | const geo_basic< T, sequential > & | lambda,
|  | const disarray< point_basic< T >, sequential > & | node_list,
|  | const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, sequential >, reference_element::max_variant > & | elt_list
| ) |  |

Definition at line 134 of file geo_build_from_list.cc.

## Member Function Documentation

## clone()

geo_abstract_rep< T, sequential > * clone

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 97 of file geo.cc.

## build_from_domain()

void build_from_domain | ( | const domain_indirect_rep< sequential > & | indirect,
|  | const geo_abstract_rep< T, sequential > & | omega,
|  | std::map< size_type, size_type > & | bgd_ie2dom_ie,
|  | std::map< size_type, size_type > & | dis_bgd_ie2dis_dom_ie
| ) |  |

Definition at line 156 of file geo_domain_seq.cc.

## locate()

void locate | ( | const disarray< point_basic< T >, sequential > & | x,
|  | disarray< size_type, sequential > & | dis_ie,
|  | bool | do_check = `false`
| ) |  | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 419 of file geo_locate.cc.

## trace_ray_boundary()

void trace_ray_boundary | ( | const disarray< point_basic< T >, sequential > & | x,
|  | const disarray< point_basic< T >, sequential > & | v,
|  | disarray< size_type, sequential > & | dis_ie,
|  | disarray< point_basic< T >, sequential > & | y,
|  | bool | do_check = `false`
| ) |  | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 579 of file geo_trace_ray_boundary.cc.

## trace_move()

void trace_move | ( | const disarray< point_basic< T >, sequential > & | x,
|  | const disarray< point_basic< T >, sequential > & | v,
|  | disarray< size_type, sequential > & | dis_ie,
|  | disarray< point_basic< T >, sequential > & | y
| ) |  | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 111 of file geo_trace_move.cc.

## nearest()

void nearest | ( | const disarray< point_basic< T >, sequential > & | x,
|  | disarray< point_basic< T >, sequential > & | x_nearest,
|  | disarray< size_type, sequential > & | dis_ie
| ) |  | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 370 of file geo_nearest.cc.

## map_dimension()

size_type map_dimension | ( |  | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 846 of file geo.h.

## is_broken()

bool is_broken | ( |  | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 847 of file geo.h.

## geo_element_ownership()

const distributor& geo_element_ownership | ( | size_type | dim | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 848 of file geo.h.

## get_geo_element() [1/2]

const_reference get_geo_element | ( | size_type | dim,
|  | size_type | ige
| ) |  | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 849 of file geo.h.

## get_geo_element() [2/2]

reference get_geo_element | ( | size_type | dim,
|  | size_type | ige
| ) |  |

Definition at line 850 of file geo.h.

## begin() [1/2]

iterator begin | ( | size_type | dim | ) |

Definition at line 851 of file geo.h.

## end() [1/2]

iterator end | ( | size_type | dim | ) |

Definition at line 852 of file geo.h.

## begin() [2/2]

const_iterator begin | ( | size_type | dim | ) | const

Definition at line 853 of file geo.h.

## end() [2/2]

const_iterator end | ( | size_type | dim | ) | const

Definition at line 854 of file geo.h.

## get_external_geo_element_map()

const geo_rep< T, sequential >::geo_element_map_type & get_external_geo_element_map | ( | size_type | variant | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 105 of file geo.cc.

## get_domain_indirect() [1/2]

const domain_indirect_basic<sequential>& get_domain_indirect | ( | size_type | idom | ) | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 857 of file geo.h.

## get_domain_indirect() [2/2]

const domain_indirect_basic<sequential>& get_domain_indirect | ( | const std::string & | name | ) | const

virtual

Implements geo_abstract_rep< T, sequential >.

Definition at line 858 of file geo.h.

## vertex_ownership()

const distributor& vertex_ownership | ( |  | ) | const

Definition at line 862 of file geo.h.

## operator[]() [1/2]

const_reference operator[] | ( | size_type | ie | ) | const

Definition at line 863 of file geo.h.

## operator[]() [2/2]

reference operator[] | ( | size_type | ie | ) |

Definition at line 864 of file geo.h.

## get()

idiststream & get | ( | idiststream & | ips | ) |

io for geo

Definition at line 127 of file geo_seq_get.cc.

## put_geo()

odiststream & put_geo | ( | odiststream & | ops | ) | const

Definition at line 46 of file geo_seq_put.cc.

## put()

odiststream& put | ( | odiststream & | ops | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 870 of file geo.h.

## dump()

void dump | ( | std::string | name | ) | const

Definition at line 303 of file geo_seq_get.cc.

## load()

void load | ( | std::string | name,
|  | const communicator & | = `communicator()`
| ) |  |

Definition at line 313 of file geo_seq_get.cc.

## check()

bool check | ( | bool | verbose | ) | const

virtual

Implements geo_abstract_base_rep< T >.

Definition at line 150 of file geo_seq_check.cc.

## reset_order()

void reset_order | ( | size_type | order | ) |

virtual

Implements geo_abstract_base_rep< T >.

## build_by_subdividing()

void build_by_subdividing | ( | const geo_basic< T, sequential > & | omega,
|  | size_type | k
| ) |  |

## build_from_data()

void build_from_data | ( | const geo_header & | hdr,
|  | const disarray< node_type, sequential > & | node,
|  | std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > & | tmp_geo_element,
|  | bool | do_upgrade
| ) |  |

Definition at line 236 of file geo_seq_upgrade.cc.

## get_standard()

idiststream & get_standard | ( | idiststream & | ips,
|  | const geo_header & | hdr
| ) |  |

protected

Definition at line 149 of file geo_seq_get.cc.

## get_upgrade()

idiststream & get_upgrade | ( | idiststream & | ips,
|  | const geo_header & | hdr
| ) |  |

protected

upgrade for geo

Definition at line 188 of file geo_seq_upgrade.cc.

## build_connectivity()

void build_connectivity | ( | std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > & | tmp_geo_element | ) |

protected

Definition at line 38 of file geo_seq_upgrade.cc.

## build_connectivity_sides()

void build_connectivity_sides | ( | size_type | side_dim,
|  | std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > & | tmp_geo_element
| ) |  |

protected

Definition at line 51 of file geo_seq_upgrade.cc.

## set_element_side_index()

void set_element_side_index | ( | size_type | side_dim | ) |

protected

## on any 3d geo_element K, set K.dis_iface(iloc) number

Definition at line 53 of file geo_seq_get.cc.

## domain_set_side_part1()

void domain_set_side_part1 | ( | const domain_indirect_rep< sequential > & | indirect,
|  | const geo_abstract_rep< T, sequential > & | bgd_omega,
|  | size_type | sid_dim,
|  | disarray< size_type, sequential > & | bgd_isid2dom_dis_isid,
|  | disarray< size_type, sequential > & | dom_isid2bgd_isid,
|  | disarray< size_type, sequential > & | dom_isid2dom_ios_dis_isid,
|  | size_type | size_by_variant[reference_element::max_variant]
| ) |  |

protected

Definition at line 31 of file geo_domain_seq.cc.

## domain_set_side_part2()

void domain_set_side_part2 | ( | const domain_indirect_rep< sequential > & | indirect,
|  | const geo_abstract_rep< T, sequential > & | bgd_omega,
|  | disarray< size_type, sequential > & | bgd_iv2dom_dis_iv,
|  | size_type | sid_dim,
|  | disarray< size_type, sequential > & | bgd_isid2dom_dis_isid,
|  | disarray< size_type, sequential > & | dom_isid2bgd_isid,
|  | disarray< size_type, sequential > & | dom_isid2dom_ios_dis_isid,
|  | size_type | size_by_variant[reference_element::max_variant]
| ) |  |

protected

Definition at line 106 of file geo_domain_seq.cc.

## build_external_entities()

void build_external_entities | ( |  | ) |

protected

Definition at line 915 of file geo.h.

The documentation for this class was generated from the following files:

- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo.h
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_build_from_list.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_domain_seq.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_locate.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_nearest.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_seq_check.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_seq_get.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_seq_put.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_seq_upgrade.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_trace_move.cc
- /build/rheolef-bzr82u/rheolef-7.1/main/lib/geo_trace_ray_boundary.cc