OpenStudio:utilities
Loading...
Searching...
No Matches
openstudio::Polygon3d Class Reference

#include <Polygon3d.hpp>

Public Member Functions

void addHole (const Point3dVector &hole)
 
void addPoint (const Point3d &point)
 
Point3d centroid () const
 
Point3dVector getEdge (size_t i) const
 
Point3dVectorVector getInnerPaths () const
 
Point3dVector getOuterPath () const
 
size_t getSize () const
 
double grossArea () const
 
bool inside (const Point3d &point, double tol=0.01) const
 
bool isClockwise () const
 
double netArea () const
 
Vector3d newellVector () const
 
Polygon3doperator= (const Polygon3d &)=default
 
Polygon3doperator= (Polygon3d &&) noexcept=default
 
Vector3d outwardNormal () const
 
std::vector< Point3dVectoroverlap (const Point3dVector &line) const
 
double perimeter () const
 
bool pointInPolygon (const Point3d &point, double tol=0.01) const
 
 Polygon3d ()=default
 
 Polygon3d (const Point3dVector &outerPath)
 
 Polygon3d (const Point3dVector &outerPath, const Point3dVectorVector &innerPaths)
 
 Polygon3d (const Polygon3d &other)=default
 
 Polygon3d (Polygon3d &&other) noexcept=default
 
void setOuterPath (const Point3dVector &outerPath)
 
bool within (const Point3d &point, double tol=0.01) const
 

Constructor & Destructor Documentation

◆ Polygon3d() [1/5]

openstudio::Polygon3d::Polygon3d ( )
default

◆ Polygon3d() [2/5]

openstudio::Polygon3d::Polygon3d ( const Point3dVector & outerPath)

◆ Polygon3d() [3/5]

openstudio::Polygon3d::Polygon3d ( const Point3dVector & outerPath,
const Point3dVectorVector & innerPaths )

◆ Polygon3d() [4/5]

openstudio::Polygon3d::Polygon3d ( const Polygon3d & other)
default

◆ Polygon3d() [5/5]

openstudio::Polygon3d::Polygon3d ( Polygon3d && other)
defaultnoexcept

Member Function Documentation

◆ addHole()

void openstudio::Polygon3d::addHole ( const Point3dVector & hole)

◆ addPoint()

void openstudio::Polygon3d::addPoint ( const Point3d & point)

◆ centroid()

Point3d openstudio::Polygon3d::centroid ( ) const

◆ getEdge()

Point3dVector openstudio::Polygon3d::getEdge ( size_t i) const

◆ getInnerPaths()

Point3dVectorVector openstudio::Polygon3d::getInnerPaths ( ) const

◆ getOuterPath()

Point3dVector openstudio::Polygon3d::getOuterPath ( ) const

◆ getSize()

size_t openstudio::Polygon3d::getSize ( ) const

◆ grossArea()

double openstudio::Polygon3d::grossArea ( ) const

◆ inside()

bool openstudio::Polygon3d::inside ( const Point3d & point,
double tol = 0.01 ) const

◆ isClockwise()

bool openstudio::Polygon3d::isClockwise ( ) const

◆ netArea()

double openstudio::Polygon3d::netArea ( ) const

◆ newellVector()

Vector3d openstudio::Polygon3d::newellVector ( ) const

◆ operator=() [1/2]

Polygon3d & openstudio::Polygon3d::operator= ( const Polygon3d & )
default

◆ operator=() [2/2]

Polygon3d & openstudio::Polygon3d::operator= ( Polygon3d && )
defaultnoexcept

◆ outwardNormal()

Vector3d openstudio::Polygon3d::outwardNormal ( ) const

◆ overlap()

std::vector< Point3dVector > openstudio::Polygon3d::overlap ( const Point3dVector & line) const

◆ perimeter()

double openstudio::Polygon3d::perimeter ( ) const

◆ pointInPolygon()

bool openstudio::Polygon3d::pointInPolygon ( const Point3d & point,
double tol = 0.01 ) const

◆ setOuterPath()

void openstudio::Polygon3d::setOuterPath ( const Point3dVector & outerPath)

◆ within()

bool openstudio::Polygon3d::within ( const Point3d & point,
double tol = 0.01 ) const