PerceMon
percemon::topo Namespace Reference

Classes

struct  BoundingBox
 
struct  Empty
 
struct  TopoUnion
 
struct  Universe
 

Typedefs

using Region = std::variant< Empty, Universe, BoundingBox, TopoUnion >
 
using RegionPtr = std::shared_ptr< Region >
 

Functions

bool is_closed (const Region &region)
 
bool is_open (const Region &region)
 
double area (const Region &region)
 
Region interior (const Region &region)
 
Region closure (const Region &region)
 
Region spatial_complement (const Region &region, const BoundingBox &universe)
 
Region spatial_intersect (const Region &lhs, const Region &rhs)
 
Region spatial_intersect (const std::vector< Region > &)
 
Region spatial_union (const Region &lhs, const Region &rhs)
 
Region spatial_union (const std::vector< Region > &)
 
Region simplify_region (const Region &region)
 

Detailed Description

A topological space is either a Universe set, an Empty set, a BoundingBox, or a Union of BoundingBoxes.

Each of these types must have defined the following functions:

  1. Area.
  2. Closure
  3. Interior.