mcpp
C++ Minecraft Library
Loading...
Searching...
No Matches
mcpp::Coordinate2D Struct Reference

Height-agnostic coordinate class. More...

#include <coordinate.h>

Public Member Functions

constexpr Coordinate2D (int x, int z)
 Constructs a Coordinate2D object with integer values.
 
constexpr Coordinate2D ()
 Constructs a Coordinate2D object with zero values.
 
constexpr Coordinate2D (double x, double z)
 Constructs a Coordinate2D object with double values.
 
constexpr Coordinate2D (const Coordinate &coord)
 Constructs a Coordinate2D object from a Coordinate object.
 
Coordinate with_height (int y) const
 Constructs a Coordinate object from a Coordinate2D object and a y value.
 
Coordinate2D operator+ (const Coordinate2D &obj) const
 Adds two Coordinate2D objects.
 
bool operator== (const Coordinate2D &obj) const
 Checks if two Coordinate2D objects are equal.
 
bool operator!= (const Coordinate2D &obj) const
 Checks if two Coordinate2D objects are not equal.
 
Coordinate2D operator- (const Coordinate2D &obj) const
 Subtracts one Coordinate2D object from another.
 
std::size_t operator() (const Coordinate2D &obj) const
 Implements hash algorithm for Coordinate2D object using non-negative mapping and weighted coordinate values.
 

Public Attributes

int x
 
int z
 

Friends

std::ostream & operator<< (std::ostream &out, const Coordinate2D &coord)
 Outputs the Coordinate2D object to an ostream.
 

Detailed Description

Height-agnostic coordinate class.

Represented using integers since sub-unit coordinates are not of particular relevance. Allows for operations such as addition between flat coordinates.

Constructor & Destructor Documentation

◆ Coordinate2D() [1/4]

constexpr mcpp::Coordinate2D::Coordinate2D ( int  x,
int  z 
)
inlineconstexpr

Constructs a Coordinate2D object with integer values.

Parameters
xThe x-coordinate.
zThe z-coordinate.

◆ Coordinate2D() [2/4]

constexpr mcpp::Coordinate2D::Coordinate2D ( )
inlineconstexpr

Constructs a Coordinate2D object with zero values.

◆ Coordinate2D() [3/4]

constexpr mcpp::Coordinate2D::Coordinate2D ( double  x,
double  z 
)
inlineconstexpr

Constructs a Coordinate2D object with double values.

Parameters
xThe x-coordinate as a double.
zThe z-coordinate as a double.

◆ Coordinate2D() [4/4]

constexpr mcpp::Coordinate2D::Coordinate2D ( const Coordinate coord)
inlineconstexpr

Constructs a Coordinate2D object from a Coordinate object.

Parameters
coordThe Coordinate object.

Member Function Documentation

◆ operator!=()

bool mcpp::Coordinate2D::operator!= ( const Coordinate2D obj) const

Checks if two Coordinate2D objects are not equal.

Parameters
objThe Coordinate2D object to compare with.
Returns
True if the flat coordinates are not equal, false otherwise.

◆ operator()()

std::size_t mcpp::Coordinate2D::operator() ( const Coordinate2D obj) const

Implements hash algorithm for Coordinate2D object using non-negative mapping and weighted coordinate values.

Parameters
objThe Coordinate2D object to hash.
Returns
Hash of Coordinate2D object.

◆ operator+()

Coordinate2D mcpp::Coordinate2D::operator+ ( const Coordinate2D obj) const

Adds two Coordinate2D objects.

Parameters
objThe Coordinate2D object to add.
Returns
A new Coordinate2D object representing the sum of the two coordinates.

◆ operator-()

Coordinate2D mcpp::Coordinate2D::operator- ( const Coordinate2D obj) const

Subtracts one Coordinate2D object from another.

Parameters
objThe Coordinate2D object to subtract.
Returns
A new Coordinate2D object representing the difference between the two coordinates.

◆ operator==()

bool mcpp::Coordinate2D::operator== ( const Coordinate2D obj) const

Checks if two Coordinate2D objects are equal.

Parameters
objThe Coordinate2D object to compare with.
Returns
True if the flat coordinates are equal, false otherwise.

◆ with_height()

Coordinate mcpp::Coordinate2D::with_height ( int  y) const

Constructs a Coordinate object from a Coordinate2D object and a y value.

Parameters
coordThe Coordinate2D object.
yThe y value.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  out,
const Coordinate2D coord 
)
friend

Outputs the Coordinate2D object to an ostream.

Parameters
outThe output stream.
coordThe Coordinate2D object to output.
Returns
The output stream with the Coordinate object's values.

Member Data Documentation

◆ x

int mcpp::Coordinate2D::x

◆ z

int mcpp::Coordinate2D::z

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