KiCad PCB EDA Suite
Loading...
Searching...
No Matches
CADSTAR_ARCHIVE_PARSER::POINT Struct Reference

Represents a point in x,y coordinates. More...

#include <cadstar_archive_parser.h>

Inheritance diagram for CADSTAR_ARCHIVE_PARSER::POINT:
VECTOR2< int32_t > CADSTAR_ARCHIVE_PARSER::PARSER

Public Types

typedef VECTOR2_TRAITS< int32_t >::extended_type extended_type
 
typedef int32_t coord_type
 

Public Member Functions

 POINT ()
 
 POINT (int aX, int aY)
 
void Parse (XNODE *aNode, PARSER_CONTEXT *aContext) override
 
constexpr VECTOR2< U > operator() () const
 Cast a vector to another specialized subclass. Beware of rounding issues.
 
int32_t EuclideanNorm () const
 Compute the Euclidean norm of the vector, which is defined as sqrt(x ** 2 + y ** 2).
 
constexpr extended_type SquaredEuclideanNorm () const
 Compute the squared euclidean norm of the vector, which is defined as (x ** 2 + y ** 2).
 
constexpr VECTOR2< int32_t > Perpendicular () const
 Compute the perpendicular vector.
 
VECTOR2< int32_t > Resize (int32_t aNewLength) const
 Return a vector of the same direction, but length specified in aNewLength.
 
const std::string Format () const
 Return the vector formatted as a string.
 
constexpr extended_type Cross (const VECTOR2< int32_t > &aVector) const
 Compute cross product of self with aVector.
 
constexpr extended_type Dot (const VECTOR2< int32_t > &aVector) const
 Compute dot product of self with aVector.
 
double Distance (const VECTOR2< extended_type > &aVector) const
 Compute the distance between two vectors.
 
constexpr extended_type SquaredDistance (const VECTOR2< int32_t > &aVector) const
 Compute the squared distance between two vectors.
 
constexpr VECTOR2< int32_t > & operator+= (const VECTOR2< int32_t > &aVector)
 Compound assignment operator.
 
constexpr VECTOR2< int32_t > & operator+= (const int32_t &aScalar)
 Compound assignment operator.
 
constexpr VECTOR2< int32_t > & operator*= (const VECTOR2< int32_t > &aVector)
 Compound assignment operator.
 
constexpr VECTOR2< int32_t > & operator*= (const int32_t &aScalar)
 
constexpr VECTOR2< int32_t > & operator-= (const VECTOR2< int32_t > &aVector)
 Compound assignment operator.
 
constexpr VECTOR2< int32_t > & operator-= (const int32_t &aScalar)
 Compound assignment operator.
 
constexpr VECTOR2< int32_t > operator- ()
 Negate Vector operator.
 
constexpr VECTOR2< int32_t > operator/ (double aFactor) const
 Division with a factor.
 
constexpr bool operator== (const VECTOR2< int32_t > &aVector) const
 Equality operator.
 
constexpr bool operator!= (const VECTOR2< int32_t > &aVector) const
 Not equality operator.
 
constexpr bool operator< (const VECTOR2< int32_t > &aVector) const
 Smaller than operator.
 
constexpr bool operator<= (const VECTOR2< int32_t > &aVector) const
 
constexpr bool operator> (const VECTOR2< int32_t > &aVector) const
 Greater than operator.
 
constexpr bool operator>= (const VECTOR2< int32_t > &aVector) const
 

Public Attributes

int32_t x
 
int32_t y
 

Static Public Attributes

static constexpr extended_type ECOORD_MAX
 
static constexpr extended_type ECOORD_MIN
 

Detailed Description

Represents a point in x,y coordinates.

Definition at line 405 of file cadstar_archive_parser.h.

Member Typedef Documentation

◆ coord_type

typedef int32_t VECTOR2< int32_t >::coord_type
inherited

Definition at line 74 of file vector2d.h.

◆ extended_type

typedef VECTOR2_TRAITS<int32_t >::extended_type VECTOR2< int32_t >::extended_type
inherited

Definition at line 73 of file vector2d.h.

Constructor & Destructor Documentation

◆ POINT() [1/2]

CADSTAR_ARCHIVE_PARSER::POINT::POINT ( )
inline

Definition at line 407 of file cadstar_archive_parser.h.

◆ POINT() [2/2]

CADSTAR_ARCHIVE_PARSER::POINT::POINT ( int  aX,
int  aY 
)
inline

Definition at line 408 of file cadstar_archive_parser.h.

Member Function Documentation

◆ Cross()

constexpr VECTOR2< int32_t >::extended_type VECTOR2< int32_t >::Cross ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Compute cross product of self with aVector.

Definition at line 202 of file vector2d.h.

◆ Distance()

double VECTOR2< int32_t >::Distance ( const VECTOR2< extended_type > &  aVector) const
inherited

Compute the distance between two vectors.

This is a double precision value because the distance is frequently non-integer.

Definition at line 213 of file vector2d.h.

◆ Dot()

constexpr VECTOR2< int32_t >::extended_type VECTOR2< int32_t >::Dot ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Compute dot product of self with aVector.

Definition at line 207 of file vector2d.h.

◆ EuclideanNorm()

int32_t VECTOR2< int32_t >::EuclideanNorm
inherited

Compute the Euclidean norm of the vector, which is defined as sqrt(x ** 2 + y ** 2).

It is used to calculate the length of the vector.

Returns
Scalar, the euclidean norm

Definition at line 165 of file vector2d.h.

◆ Format()

const std::string VECTOR2< int32_t >::Format
inherited

Return the vector formatted as a string.

Returns
the formatted string

Definition at line 197 of file vector2d.h.

◆ operator!=()

constexpr bool VECTOR2< int32_t >::operator!= ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Not equality operator.

Definition at line 252 of file vector2d.h.

◆ operator()()

constexpr VECTOR2< U > VECTOR2< int32_t >::operator() ( ) const
inlineconstexprinherited

Cast a vector to another specialized subclass. Beware of rounding issues.

Definition at line 128 of file vector2d.h.

◆ operator*=() [1/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator*= ( const int32_t &  aScalar)
constexprinherited

Definition at line 231 of file vector2d.h.

◆ operator*=() [2/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator*= ( const VECTOR2< int32_t > &  aVector)
constexprinherited

Compound assignment operator.

Definition at line 229 of file vector2d.h.

◆ operator+=() [1/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator+= ( const int32_t &  aScalar)
constexprinherited

Compound assignment operator.

Definition at line 234 of file vector2d.h.

◆ operator+=() [2/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator+= ( const VECTOR2< int32_t > &  aVector)
constexprinherited

Compound assignment operator.

Definition at line 226 of file vector2d.h.

◆ operator-()

constexpr VECTOR2< int32_t > VECTOR2< int32_t >::operator-
constexprinherited

Negate Vector operator.

Definition at line 243 of file vector2d.h.

◆ operator-=() [1/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator-= ( const int32_t &  aScalar)
constexprinherited

Compound assignment operator.

Definition at line 240 of file vector2d.h.

◆ operator-=() [2/2]

constexpr VECTOR2< int32_t > & VECTOR2< int32_t >::operator-= ( const VECTOR2< int32_t > &  aVector)
constexprinherited

Compound assignment operator.

Definition at line 237 of file vector2d.h.

◆ operator/()

constexpr VECTOR2< int32_t > VECTOR2< int32_t >::operator/ ( double  aFactor) const
constexprinherited

Division with a factor.

Definition at line 246 of file vector2d.h.

◆ operator<()

constexpr bool VECTOR2< int32_t >::operator< ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Smaller than operator.

Definition at line 255 of file vector2d.h.

◆ operator<=()

constexpr bool VECTOR2< int32_t >::operator<= ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Definition at line 256 of file vector2d.h.

◆ operator==()

constexpr bool VECTOR2< int32_t >::operator== ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Equality operator.

Definition at line 249 of file vector2d.h.

◆ operator>()

constexpr bool VECTOR2< int32_t >::operator> ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Greater than operator.

Definition at line 259 of file vector2d.h.

◆ operator>=()

constexpr bool VECTOR2< int32_t >::operator>= ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Definition at line 260 of file vector2d.h.

◆ Parse()

void CADSTAR_ARCHIVE_PARSER::POINT::Parse ( XNODE aNode,
PARSER_CONTEXT aContext 
)
overridevirtual

◆ Perpendicular()

constexpr VECTOR2< int32_t > VECTOR2< int32_t >::Perpendicular
constexprinherited

Compute the perpendicular vector.

Returns
Perpendicular vector

Definition at line 182 of file vector2d.h.

◆ Resize()

VECTOR2< int32_t > VECTOR2< int32_t >::Resize ( int32_t  aNewLength) const
inherited

Return a vector of the same direction, but length specified in aNewLength.

Parameters
aNewLengthis the length of the rescaled vector.
Returns
the rescaled vector.

Definition at line 190 of file vector2d.h.

◆ SquaredDistance()

constexpr VECTOR2< int32_t >::extended_type VECTOR2< int32_t >::SquaredDistance ( const VECTOR2< int32_t > &  aVector) const
constexprinherited

Compute the squared distance between two vectors.

Definition at line 218 of file vector2d.h.

◆ SquaredEuclideanNorm()

constexpr VECTOR2< int32_t >::extended_type VECTOR2< int32_t >::SquaredEuclideanNorm
constexprinherited

Compute the squared euclidean norm of the vector, which is defined as (x ** 2 + y ** 2).

It is used to calculate the length of the vector.

Returns
Scalar, the euclidean norm

Definition at line 174 of file vector2d.h.

Member Data Documentation

◆ ECOORD_MAX

constexpr extended_type VECTOR2< int32_t >::ECOORD_MAX
staticconstexprinherited

Definition at line 76 of file vector2d.h.

◆ ECOORD_MIN

constexpr extended_type VECTOR2< int32_t >::ECOORD_MIN
staticconstexprinherited

Definition at line 77 of file vector2d.h.

◆ x

int32_t VECTOR2< int32_t >::x
inherited

Definition at line 79 of file vector2d.h.

◆ y

int32_t VECTOR2< int32_t >::y
inherited

Definition at line 79 of file vector2d.h.


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