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 WorkspaceRegionGetSource () const noexcept
 
const WorkspaceRegionGetTarget () 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: