Parasol Planning Library (PPL)
WorkspacePortal Class Reference

#include <WorkspacePortal.h>

Public Types

Local Types
typedef GMSPolygon Facet
 A triangle facet. More...
 

Public Member Functions

Construction
 WorkspacePortal ()
 
 WorkspacePortal (WorkspaceDecomposition *const _wd, const size_t _s, const size_t _t)
 
void SetDecomposition (WorkspaceDecomposition *const _wd)
 
Accessors
const size_t GetSourceDescriptor () const noexcept
 
const size_t GetTargetDescriptor () const noexcept
 
const WorkspaceRegion & GetSource () const noexcept
 
const WorkspaceRegion & GetTarget () const noexcept
 
double GetWeight () const noexcept
 Get the distance between region centers through the facet midpoint. More...
 
Queries
const std::vector< Point3d > FindPoints () const
 Find the set of points that are common to both source and target region. More...
 
const std::vector< const Facet * > FindFacets () const
 

Detailed Description

Describes a connection between two workspace regions.

This is a light-weight object: it represents points and facets shared between regions, but does not store them explicitly. The shared objects are instead computed as needed.

Member Typedef Documentation

◆ Facet

A triangle facet.

Constructor & Destructor Documentation

◆ WorkspacePortal() [1/2]

WorkspacePortal::WorkspacePortal ( )

Default construction makes no sense for this object, but the stapl graph requires it anyway.

◆ WorkspacePortal() [2/2]

WorkspacePortal::WorkspacePortal ( WorkspaceDecomposition *const  _wd,
const size_t  _s,
const size_t  _t 
)

Construct a workspace portal between a source and target region in a given workspace decomposition.

Parameters
_wdThe owning decomposition.
_sThe source region descriptor.
_tthe Target region descriptor.

Member Function Documentation

◆ FindFacets()

const std::vector< const WorkspacePortal::Facet * > WorkspacePortal::FindFacets ( ) const

Find the set of facets from the source region that connect the source to the target.

◆ FindPoints()

const std::vector< Point3d > WorkspacePortal::FindPoints ( ) const

Find the set of points that are common to both source and target region.

◆ GetSource()

const WorkspaceRegion & WorkspacePortal::GetSource ( ) const
noexcept

◆ GetSourceDescriptor()

const size_t WorkspacePortal::GetSourceDescriptor ( ) const
noexcept

◆ GetTarget()

const WorkspaceRegion & WorkspacePortal::GetTarget ( ) const
noexcept

◆ GetTargetDescriptor()

const size_t WorkspacePortal::GetTargetDescriptor ( ) const
noexcept

◆ GetWeight()

double WorkspacePortal::GetWeight ( ) const
noexcept

Get the distance between region centers through the facet midpoint.

◆ SetDecomposition()

void WorkspacePortal::SetDecomposition ( WorkspaceDecomposition *const  _wd)

Change the owning decomposition. This only makes sense when we are copying/moving portals from one decomposition to another.

Parameters
_wdThe new owning decomposition.

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