SFCGAL  2.3.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
SFCGAL::algorithm::EqualityStrictness Class Reference

Manages how geometry comparison will be handled. More...

#include <equality.h>

Public Types

enum  Flag {
  CheckCoverOrPoint = 1 << 0, SubGeomOrdered = 1 << 1, SubPartOrdered = 1 << 2, InternalPointOrdered = 1 << 3,
  InternalPointShifted = 1 << 4, InternalPointInverted = 1 << 5
}
 Binary enum to define what is allowed when comparing geometries. More...
 

Public Member Functions

 EqualityStrictness ()
 Default constructor. More...
 
 EqualityStrictness (const EqualityStrictness &other)=default
 Copy constructor. More...
 
 EqualityStrictness (Flag flag)
 Constructor with default value. More...
 
auto operator| (Flag flag) -> EqualityStrictness &
 Add flag to active flags. More...
 
auto operator& (Flag flag) const -> bool
 Checks if a flag is valid. More...
 
auto operator= (Flag flag) -> EqualityStrictness &
 Assign operator from Flag value. More...
 
auto operator= (EqualityStrictness other) -> EqualityStrictness &
 Assign operator from EqualityStrictness value. More...
 
auto toString () const -> std::string
 

Static Public Member Functions

static auto allPointOrdered () -> EqualityStrictness
 point comparison, sub geometries need to be ordered as sub geometry points More...
 
static auto pointNonOrdered () -> EqualityStrictness
 point comparison, nothing need to be ordered More...
 
static auto coverSubGeomNonOrdered () -> EqualityStrictness
 cover comparison, sub geometries do not need to be ordered More...
 
static auto coverSubGeomOrdered () -> EqualityStrictness
 cover comparison, sub geometries need to be ordered More...
 

Protected Attributes

int _flags
 Holds all flags. More...
 

Detailed Description

Manages how geometry comparison will be handled.

Member Enumeration Documentation

Binary enum to define what is allowed when comparing geometries.

Exclusions:

  • can not have CheckCoverOrPoint and any of InternalPoint* checks
  • can not have multiple InternalPoint* checks
Enumerator
CheckCoverOrPoint 

kind of check: point or cover. 1 is cover, 0 is point

SubGeomOrdered 

sub geometries need to be ordered

SubPartOrdered 

sub parts need to be ordered

InternalPointOrdered 

sub geometry points need to be ordered, no shifted is allowed

InternalPointShifted 

sub geometry points need to be ordered but shifted is allowed

InternalPointInverted 

sub geometry points need to be ordered but inverted sequence is allowed

Constructor & Destructor Documentation

SFCGAL::algorithm::EqualityStrictness::EqualityStrictness ( )
inline

Default constructor.

SFCGAL::algorithm::EqualityStrictness::EqualityStrictness ( const EqualityStrictness &  other)
default

Copy constructor.

Parameters
otherother object to copy from
SFCGAL::algorithm::EqualityStrictness::EqualityStrictness ( Flag  flag)
inline

Constructor with default value.

Parameters
flagnew flags

Member Function Documentation

static auto SFCGAL::algorithm::EqualityStrictness::allPointOrdered ( ) -> EqualityStrictness
inlinestatic

point comparison, sub geometries need to be ordered as sub geometry points

Returns
new object
static auto SFCGAL::algorithm::EqualityStrictness::coverSubGeomNonOrdered ( ) -> EqualityStrictness
inlinestatic

cover comparison, sub geometries do not need to be ordered

Returns
new object
static auto SFCGAL::algorithm::EqualityStrictness::coverSubGeomOrdered ( ) -> EqualityStrictness
inlinestatic

cover comparison, sub geometries need to be ordered

Returns
new object
auto SFCGAL::algorithm::EqualityStrictness::operator& ( Flag  flag) const -> bool
inline

Checks if a flag is valid.

Parameters
flagflag to check
Returns
true when flag is active
auto SFCGAL::algorithm::EqualityStrictness::operator= ( Flag  flag) -> EqualityStrictness &
inline

Assign operator from Flag value.

Parameters
flagnew flag
Returns
ref on this
auto SFCGAL::algorithm::EqualityStrictness::operator= ( EqualityStrictness  other) -> EqualityStrictness &
inline

Assign operator from EqualityStrictness value.

Parameters
otheranother EqualityStrictness object
Returns
ref on this
auto SFCGAL::algorithm::EqualityStrictness::operator| ( Flag  flag) -> EqualityStrictness &

Add flag to active flags.

Parameters
flagnew flag
Returns
ref on this
static auto SFCGAL::algorithm::EqualityStrictness::pointNonOrdered ( ) -> EqualityStrictness
inlinestatic

point comparison, nothing need to be ordered

Returns
new object
auto SFCGAL::algorithm::EqualityStrictness::toString ( ) const -> std::string
Returns
string representation of current flags

Member Data Documentation

int SFCGAL::algorithm::EqualityStrictness::_flags
protected

Holds all flags.