PTEMS  0.1.0-dev+git.81fd0e4
PolyTopic Element Method Solver
ptems::DomainDefinition2D Class Reference

Definition of the computational domain in 2D as a set of boundary points, and set of holes (each hole defined as a set of boundary points). More...

#include <ptems/domaindefinition.hpp>

Public Types

typedef std::vector< Vector< 2 > > Polygon
 A polygon defined using a list of points defining the boundary of the polygon. More...
 

Public Member Functions

 DomainDefinition2D (Polygon &&points)
 Create a computational domain by the list of vertices defining the boundary. More...
 
 DomainDefinition2D (const Polygon &points)
 Create a computational domain by the list of vertices defining the boundary. More...
 
 DomainDefinition2D (const std::initializer_list< Vector< 2 >> &points)
 Create a computational domain by the list of vertices defining the boundary. More...
 
template<typename It >
 DomainDefinition2D (It begin, It end)
 Create a computational domain by the list of vertices defining the boundary. More...
 
void AddHole (Polygon &&points)
 Adds a hole into the domain. More...
 
void AddHole (const Polygon &points)
 Adds a hole into the domain. More...
 
void AddHole (const std::initializer_list< Vector< 2 >> &points)
 Adds a hole into the domain. More...
 
template<typename It >
void AddHole (It begin, It end)
 Adds a hole into the domain. More...
 
bool IsAligned () const
 Returns whether the domain boundaries are aligned with the axis (i.e., only vertical or horizontal lines). More...
 
std::size_t MinElementsX () const
 Returns the minimum number of elements (or the multiplier) in the x-coordinate for uniform refinement to ensure that the mesh aligns with the boundary. More...
 
std::size_t MinElementsY () const
 Returns the minimum number of elements (or the multiplier) in the y-coordinate for uniform refinement to ensure that the mesh aligns with the boundary. More...
 
double SmallestDistanceX () const
 Calculates the smallest distance in the X coordinate between any two points in the domain boundary. More...
 
double SmallestDistanceY () const
 Calculates the smallest distance in the Y coordinate between any two points in the domain boundary. More...
 
BBox< 2 > BoundingBox () const
 Gets the bounding box of the domain. More...
 
const PolygonBoundary () const
 Gets the list of points defining the boundary. More...
 
const std::vector< Polygon > & Holes () const
 Gets the list of holes in the domain. More...
 
bool IsValid () const
 Checks if the domain is valid (contains at least three points in the boundary) More...
 
 operator bool () const
 Checks if the domain is valid (contains at least three points in the boundary) More...
 
DomainDefinition3D ExtrudeX (double start, double end) const
 Create a 3D domain by extruding this 2D domain representing a plane parallel to YZ plane along the X axis. More...
 
DomainDefinition3D ExtrudeY (double start, double end) const
 Create a 3D domain by extruding this 2D domain representing a plane parallel to XZ plane along the Y axis. More...
 
DomainDefinition3D ExtrudeZ (double start, double end) const
 Create a 3D domain by extruding this 2D domain representing a plane parallel to XY plane along the Z axis. More...
 

Static Public Member Functions

static DomainDefinition2D Square (double xMin, double xMax, double yMin, double yMax)
 Create a rectangle computational domain with the specified dimensions. More...
 
static DomainDefinition2D Square (const Vector< 2 > &p1, const Vector< 2 > &p2)
 Create a square computational domain with the specified opposite corners. More...
 
static DomainDefinition2D Square (double min, double max)
 Create a square computational domain with the specified dimensions. More...
 
static DomainDefinition2D Square ()
 Create a unit square \( (0,1)^2 \) computational domain. More...
 
static DomainDefinition2D Obstacle (double xMin, double xMax, double yMin, double yMax, double xMinObstacle, double xMaxObstacle, double yMinObstacle, double yMaxObstacle)
 Create a rectangle computational domain with the specified dimensions, containing a rectangle obstacle with the specified dimensions. More...
 
static DomainDefinition2D Obstacle (const Vector< 2 > &p1, const Vector< 2 > &p2, const Vector< 2 > &obs1, const Vector< 2 > &obs2)
 Create a square computational domain with the opposite corners for the domain and obstacle. More...
 
static DomainDefinition2D Obstacle (double min, double max, double minObstacle, double maxObstacle)
 Create a square computational domain with the specified dimensions, containing a square obstacle with the specified dimensions. More...
 
static DomainDefinition2D LShape (double xMin, double xMax, double yMin, double yMax, double xCentre, double yCentre, LShapeDomain shape=LShapeDomain::MinusSE)
 Creates an L-shape computational domain defined by the specified dimensions. More...
 
static DomainDefinition2D LShape (const Vector< 2 > &p1, const Vector< 2 > &p2, const Vector< 2 > &centre, LShapeDomain shape=LShapeDomain::MinusSE)
 Create a L-shape computational domain within the square defined by the opposite corners. More...
 
static DomainDefinition2D LShape (double xMin, double xMax, double yMin, double yMax, LShapeDomain shape=LShapeDomain::MinusSE)
 Creates an L-shape computational domain defined by the specified dimensions with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit. More...
 
static DomainDefinition2D LShape (const Vector< 2 > &p1, const Vector< 2 > &p2, LShapeDomain shape=LShapeDomain::MinusSE)
 Create a L-shape computational domain within the square defined by the opposite corners with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit. More...
 
static DomainDefinition2D LShape (double min, double max, double centre, LShapeDomain shape=LShapeDomain::MinusSE)
 Creates an L-shape computational domain defined by the specified dimensions. More...
 
static DomainDefinition2D LShape (double min, double max, LShapeDomain shape=LShapeDomain::MinusSE)
 Creates an L-shape computational domain defined by the specified dimensions with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit. More...
 
static DomainDefinition2D LShape (LShapeDomain shape=LShapeDomain::MinusSE)
 Creates an L-shape computational domain with limits [-1,1] for all coordinate directions and centre point (re-entrant corner) at (0,0). More...
 

Detailed Description

Definition of the computational domain in 2D as a set of boundary points, and set of holes (each hole defined as a set of boundary points).

Member Typedef Documentation

◆ Polygon

A polygon defined using a list of points defining the boundary of the polygon.

Constructor & Destructor Documentation

◆ DomainDefinition2D() [1/4]

ptems::DomainDefinition2D::DomainDefinition2D ( Polygon &&  points)
inline

Create a computational domain by the list of vertices defining the boundary.

Warning
The path defined by the points MUST NOT intersect with itself. No checks are made to ensure this condition is met. Using a domain with a self-intersecting boundary results in undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary.

◆ DomainDefinition2D() [2/4]

ptems::DomainDefinition2D::DomainDefinition2D ( const Polygon points)
inline

Create a computational domain by the list of vertices defining the boundary.

Warning
The path defined by the points MUST NOT intersect with itself. No checks are made to ensure this condition is met. Using a domain with a self-intersecting boundary results in undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary.

◆ DomainDefinition2D() [3/4]

ptems::DomainDefinition2D::DomainDefinition2D ( const std::initializer_list< Vector< 2 >> &  points)
inline

Create a computational domain by the list of vertices defining the boundary.

Warning
The path defined by the points MUST NOT intersect with itself. No checks are made to ensure this condition is met. Using a domain with a self-intersecting boundary results in undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary.

◆ DomainDefinition2D() [4/4]

template<typename It >
ptems::DomainDefinition2D::DomainDefinition2D ( It  begin,
It  end 
)
inline

Create a computational domain by the list of vertices defining the boundary.

Warning
The path defined by the points MUST NOT intersect with itself. No checks are made to ensure this condition is met. Using a domain with a self-intersecting boundary results in undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Template Parameters
ItThe iterator type
Parameters
beginStart iterator for list of vertices defining the boundary
endEnd iterator for list of vertices defining the boundary

Member Function Documentation

◆ AddHole() [1/4]

void ptems::DomainDefinition2D::AddHole ( const Polygon points)
inline

Adds a hole into the domain.

Warning
The path defined by the points MUST NOT intersect with itself, another hole, or the boundary of the domain. No checks are made to ensure this condition is met. Using a domain with a self-intersecting hole, holes which intersect, or holes intersecting the boundary is undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary of the hole.

◆ AddHole() [2/4]

void ptems::DomainDefinition2D::AddHole ( const std::initializer_list< Vector< 2 >> &  points)
inline

Adds a hole into the domain.

Warning
The path defined by the points MUST NOT intersect with itself, another hole, or the boundary of the domain. No checks are made to ensure this condition is met. Using a domain with a self-intersecting hole, holes which intersect, or holes intersecting the boundary is undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary of the hole.

◆ AddHole() [3/4]

template<typename It >
void ptems::DomainDefinition2D::AddHole ( It  begin,
It  end 
)
inline

Adds a hole into the domain.

Warning
The path defined by the points MUST NOT intersect with itself, another hole, or the boundary of the domain. No checks are made to ensure this condition is met. Using a domain with a self-intersecting hole, holes which intersect, or holes intersecting the boundary is undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Template Parameters
ItThe iterator type
Parameters
beginStart iterator for list of vertices defining the boundary of the hole
endEnd iterator for list of vertices defining the boundary of the hole

◆ AddHole() [4/4]

void ptems::DomainDefinition2D::AddHole ( Polygon &&  points)
inline

Adds a hole into the domain.

Warning
The path defined by the points MUST NOT intersect with itself, another hole, or the boundary of the domain. No checks are made to ensure this condition is met. Using a domain with a self-intersecting hole, holes which intersect, or holes intersecting the boundary is undefined behaviour.
Exceptions
std::invalid_argumentIf the number points is less than three, or the points are all colinear.
Parameters
pointsList of vertices defining the boundary of the hole.

◆ Boundary()

const Polygon& ptems::DomainDefinition2D::Boundary ( ) const
inline

Gets the list of points defining the boundary.

Returns
List of boundary points

◆ BoundingBox()

BBox<2> ptems::DomainDefinition2D::BoundingBox ( ) const

Gets the bounding box of the domain.

Returns
Pair containing the lower left and upper right corners of the bounding box.

◆ ExtrudeX()

DomainDefinition3D ptems::DomainDefinition2D::ExtrudeX ( double  start,
double  end 
) const
inline

Create a 3D domain by extruding this 2D domain representing a plane parallel to YZ plane along the X axis.

Parameters
startThe X value of the "bottom" plane of the extruded volume
endThe X value of the "top" plane of the extruded volume
Exceptions
std::invalid_argumentif end is less than or equal to start
Returns
The extruded domain

◆ ExtrudeY()

DomainDefinition3D ptems::DomainDefinition2D::ExtrudeY ( double  start,
double  end 
) const
inline

Create a 3D domain by extruding this 2D domain representing a plane parallel to XZ plane along the Y axis.

Parameters
startThe Y value of the "bottom" plane of the extruded volume
endThe Y value of the "top" plane of the extruded volume
Exceptions
std::invalid_argumentif end is less than or equal to start
Returns
The extruded domain

◆ ExtrudeZ()

DomainDefinition3D ptems::DomainDefinition2D::ExtrudeZ ( double  start,
double  end 
) const
inline

Create a 3D domain by extruding this 2D domain representing a plane parallel to XY plane along the Z axis.

Parameters
startThe Z value of the "bottom" plane of the extruded volume
endThe Z value of the "top" plane of the extruded volume
Exceptions
std::invalid_argumentif end is less than or equal to start
Returns
The extruded domain

◆ Holes()

const std::vector<Polygon>& ptems::DomainDefinition2D::Holes ( ) const
inline

Gets the list of holes in the domain.

Returns
List of holes, each hole is a list of points denoting the boundary of the hole.

◆ IsAligned()

bool ptems::DomainDefinition2D::IsAligned ( ) const

Returns whether the domain boundaries are aligned with the axis (i.e., only vertical or horizontal lines).

Returns
true is boundary is aligned to the axis; false otherwise.

◆ IsValid()

bool ptems::DomainDefinition2D::IsValid ( ) const
inline

Checks if the domain is valid (contains at least three points in the boundary)

Returns
true if the domain is valid; false otherwise

◆ LShape() [1/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( const Vector< 2 > &  p1,
const Vector< 2 > &  p2,
const Vector< 2 > &  centre,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
inlinestatic

Create a L-shape computational domain within the square defined by the opposite corners.

The L-shape has one of the following four layouts:

Parameters
p1Coordinates of the first corner of the square bounding box of the L-shape domain
p2Coordinates of the second, opposite, corner of square bounding box of the L-shape domain
centreCoordinates of the centre (re-entrant) corner in the L-shape
shapeWhich L-shape domain to create (default = MinusSE)
Exceptions
std::invalid_argumentIf the difference between the two coordinates of the outer domain, in the X or Y coordinates, is zero.
std::invalid_argumentIf the centre (re-entrant) corner is not contained within the domain limits.
Returns
Domain definition for the L-shape

◆ LShape() [2/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( const Vector< 2 > &  p1,
const Vector< 2 > &  p2,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
inlinestatic

Create a L-shape computational domain within the square defined by the opposite corners with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit.

Parameters
p1Coordinates of the first corner of the square bounding box of the L-shape domain
p2Coordinates of the second, opposite, corner of square bounding box of the L-shape domain
shapeWhich L-shape domain to create (default = MinusSE)

The L-shape has one of the following four layouts:

Exceptions
std::invalid_argumentIf the difference between the two coordinates of the outer domain, in the X or Y coordinates, is zero.
Returns
Domain definition for the L-shape

◆ LShape() [3/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( double  min,
double  max,
double  centre,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
inlinestatic

Creates an L-shape computational domain defined by the specified dimensions.

The L-shape has one of the following four layouts:

Parameters
minThe lower limit of the L-shape in the x and y coordinate directions.
maxThe upper limit of the L-shape in the x and y coordinate directions.
centreThe x and y coordinate of the centre (re-entrant) corner in the L-shape
shapeWhich L-shape domain to create (default = MinusSE)
Exceptions
std::invalid_argumentIf the lower limit of the domain in any coordinate direction is greater (or equal) to the upper limit
std::invalid_argumentIf the centre (re-entrant) corner is not contained within the domain limits.
Returns
Domain definition for the L-shape

◆ LShape() [4/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( double  min,
double  max,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
inlinestatic

Creates an L-shape computational domain defined by the specified dimensions with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit.

The L-shape has one of the following four layouts:

Parameters
minThe lower limit of the L-shape in the x and y coordinate directions.
maxThe upper limit of the L-shape in the x and y coordinate directions.
shapeWhich L-shape domain to create (default = MinusSE)
Exceptions
std::invalid_argumentIf the lower limit of the domain in any coordinate direction is greater (or equal) to the upper limit
Returns
Domain definition for the L-shape

◆ LShape() [5/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  xCentre,
double  yCentre,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
static

Creates an L-shape computational domain defined by the specified dimensions.

The L-shape has one of the following four layouts:

Parameters
xMinThe lower limit of the L-shape in the x coordinate direction.
xMaxThe upper limit of the L-shape in the x coordinate direction.
yMinThe lower limit of the L-shape in the y coordinate direction.
yMaxThe upper limit of the L-shape in the y coordinate direction.
xCentreThe x coordinate of the centre (re-entrant) corner in the L-shape
yCentreThe y coordinate of the centre (re-entrant) corner in the L-shape
shapeWhich L-shape domain to create (default = MinusSE)
Exceptions
std::invalid_argumentIf the lower limit of the domain in any coordinate direction is greater (or equal) to the upper limit
std::invalid_argumentIf the centre (re-entrant) corner is not contained within the domain limits.
Returns
Domain definition for the L-shape

◆ LShape() [6/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
LShapeDomain  shape = LShapeDomain::MinusSE 
)
inlinestatic

Creates an L-shape computational domain defined by the specified dimensions with centre point (re-entrant corner) of the L-shape at the midpoint of the domain limit.

The L-shape has one of the following four layouts:

Parameters
xMinThe lower limit of the L-shape in the x coordinate direction.
xMaxThe upper limit of the L-shape in the x coordinate direction.
yMinThe lower limit of the L-shape in the y coordinate direction.
yMaxThe upper limit of the L-shape in the y coordinate direction.
shapeWhich L-shape domain to create (default = MinusSE)
Exceptions
std::invalid_argumentIf the lower limit of the domain in any coordinate direction is greater (or equal) to the upper limit
Returns
Domain definition for the L-shape

◆ LShape() [7/7]

static DomainDefinition2D ptems::DomainDefinition2D::LShape ( LShapeDomain  shape = LShapeDomain::MinusSE)
inlinestatic

Creates an L-shape computational domain with limits [-1,1] for all coordinate directions and centre point (re-entrant corner) at (0,0).

The L-shape has one of the following four layouts:

Parameters
shapeWhich L-shape domain to create (default = MinusSE)
Returns
Domain definition for the L-shape

◆ MinElementsX()

std::size_t ptems::DomainDefinition2D::MinElementsX ( ) const

Returns the minimum number of elements (or the multiplier) in the x-coordinate for uniform refinement to ensure that the mesh aligns with the boundary.

Warning
The result of this function is undefined if IsAligned() is false.
Returns
The multiplier of number of elements (in X direction) for uniform refinement.

◆ MinElementsY()

std::size_t ptems::DomainDefinition2D::MinElementsY ( ) const

Returns the minimum number of elements (or the multiplier) in the y-coordinate for uniform refinement to ensure that the mesh aligns with the boundary.

Warning
The result of this function is undefined if IsAligned() is false.
Returns
The multiplier of number of elements (in Y direction) for uniform refinement.

◆ Obstacle() [1/3]

static DomainDefinition2D ptems::DomainDefinition2D::Obstacle ( const Vector< 2 > &  p1,
const Vector< 2 > &  p2,
const Vector< 2 > &  obs1,
const Vector< 2 > &  obs2 
)
inlinestatic

Create a square computational domain with the opposite corners for the domain and obstacle.

Parameters
p1Coordinates of the first corner of the outer domain
p2Coordinates of the second, opposite, corner of the outer domain
obs1Coordinates of the first corner of the obstacle
obs2Coordinates of the second, opposite, corner of the obstacle
Exceptions
std::invalid_argumentIf the difference between the two coordinates of the outer domain, in the X or Y coordinates, is zero.
std::invalid_argumentIf the difference between the two coordinates of the obstacle, in the X or Y coordinates, is zero.
std::invalid_argumentIf the obstacle is not completely contained within the outer domain
Returns
Domain definition for the specified square with obstacle

◆ Obstacle() [2/3]

static DomainDefinition2D ptems::DomainDefinition2D::Obstacle ( double  min,
double  max,
double  minObstacle,
double  maxObstacle 
)
inlinestatic

Create a square computational domain with the specified dimensions, containing a square obstacle with the specified dimensions.

Parameters
minThe lower limit of the square in all coordinate directions.
maxThe upper limit of the square in all coordinate directions.
minObstacleThe lower limit of the square obstacle in all coordinate directions.
maxObstacleThe upper limit of the square obstacle in all coordinate directions.
Exceptions
std::invalid_argumentIf the lower limit (min) is greater (or equal) to the upper limit (max)
std::invalid_argumentIf the lower limit of the obstacle (minObstacle) is greater (or equal) to the upper limit of the obstacle (maxObstacle)
std::invalid_argumentIf the obstacle is not completely contained within the outer domain
Returns
Domain definition for the specified square with obstacle

◆ Obstacle() [3/3]

static DomainDefinition2D ptems::DomainDefinition2D::Obstacle ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  xMinObstacle,
double  xMaxObstacle,
double  yMinObstacle,
double  yMaxObstacle 
)
static

Create a rectangle computational domain with the specified dimensions, containing a rectangle obstacle with the specified dimensions.

Parameters
xMinThe lower limit of the rectangle in the x coordinate direction.
xMaxThe upper limit of the rectangle in the x coordinate direction.
yMinThe lower limit of the rectangle in the y coordinate direction.
yMaxThe upper limit of the rectangle in the y coordinate direction.
xMinObstacleThe lower limit of the rectangle obstacle in the x coordinate direction.
xMaxObstacleThe upper limit of the rectangle obstacle in the x coordinate direction.
yMinObstacleThe lower limit of the rectangle obstacle in the y coordinate direction.
yMaxObstacleThe upper limit of the rectangle obstacle in the y coordinate direction.
Exceptions
std::invalid_argumentIf the lower limit of the outer domain in any coordinate direction is greater (or equal) to the upper limit
std::invalid_argumentIf the lower limit of the obstacle in any coordinate direction is greater (or equal) to the upper limit
std::invalid_argumentIf the obstacle is not completely contained within the outer domain
Returns
Domain definition for the specified rectangle with obstacle

◆ operator bool()

ptems::DomainDefinition2D::operator bool ( ) const
inlineexplicit

Checks if the domain is valid (contains at least three points in the boundary)

Returns
true if the domain is valid; false otherwise

◆ SmallestDistanceX()

double ptems::DomainDefinition2D::SmallestDistanceX ( ) const

Calculates the smallest distance in the X coordinate between any two points in the domain boundary.

Returns
Smallest X distance between any two boundary points, or zero if only one point in boundary

◆ SmallestDistanceY()

double ptems::DomainDefinition2D::SmallestDistanceY ( ) const

Calculates the smallest distance in the Y coordinate between any two points in the domain boundary.

Returns
Smallest Y distance between any two boundary points, or zero if only one point in boundary

◆ Square() [1/4]

static DomainDefinition2D ptems::DomainDefinition2D::Square ( )
inlinestatic

Create a unit square \( (0,1)^2 \) computational domain.

Returns
Domain definition for the unit square

◆ Square() [2/4]

static DomainDefinition2D ptems::DomainDefinition2D::Square ( const Vector< 2 > &  p1,
const Vector< 2 > &  p2 
)
inlinestatic

Create a square computational domain with the specified opposite corners.

Parameters
p1Coordinates of the first corner
p2Coordinates of the second, opposite, corner
Exceptions
std::invalid_argumentIf the difference between the two points, in the X or Y coordinates, is zero.
Returns
Domain definition for the specified square

◆ Square() [3/4]

static DomainDefinition2D ptems::DomainDefinition2D::Square ( double  min,
double  max 
)
inlinestatic

Create a square computational domain with the specified dimensions.

Parameters
minThe lower limit of the square in all coordinate directions.
maxThe upper limit of the square in all coordinate directions.
Exceptions
std::invalid_argumentIf the lower limit (min) is greater (or equal) to the upper limit (max)
Returns
Domain definition for the specified square

◆ Square() [4/4]

static DomainDefinition2D ptems::DomainDefinition2D::Square ( double  xMin,
double  xMax,
double  yMin,
double  yMax 
)
static

Create a rectangle computational domain with the specified dimensions.

Parameters
xMinThe lower limit of the rectangle in the x coordinate direction.
xMaxThe upper limit of the rectangle in the x coordinate direction.
yMinThe lower limit of the rectangle in the y coordinate direction.
yMaxThe upper limit of the rectangle in the y coordinate direction.
Exceptions
std::invalid_argumentIf the lower limit in any coordinate direction is greater (or equal) to the upper limit
Returns
Domain definition for the specified rectangle

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