jaulib v1.3.0
Jau Support Library (C++, Java, ..)
Public Member Functions | Public Attributes | List of all members
jau::math::geom::LineStrip2f Class Reference

A clockwise (CW) polyline. More...

#include <geom2f.hpp>

Inheritance diagram for jau::math::geom::LineStrip2f:
Collaboration diagram for jau::math::geom::LineStrip2f:

Public Member Functions

 LineStrip2f () noexcept
 
 LineStrip2f (const Point2f &center, const float angle) noexcept
 
AABBox2f box () const noexcept override
 
bool contains (const Point2f &o) const noexcept override
 
bool intersection (Vec2f &reflect_out, Vec2f &cross_normal, Point2f &cross_point, const LineSeg2f &in) const noexcept override
 Return whether this object intersects with the given line segment and if intersecting, the crossing point (intersection), the normalized normal of the crossing surface and the reflection out vector. More...
 
bool intersects (const AABBox2f &o) const noexcept override
 
bool intersects (const Geom2f &o) const noexcept override
 
bool intersects (const LineSeg2f &o) const noexcept override
 
bool intersects_lineonly (const LineSeg2f &o) const noexcept
 
void move (const float dx, const float dy) noexcept override
 
void move (const Point2f &d) noexcept override
 
void move_dir (const float d) noexcept override
 
void normalize_center () noexcept
 
void rotate (const float radians) noexcept override
 
void set_center (const Point2f &p)
 
std::string toString () const noexcept override
 
- Public Member Functions inherited from jau::math::geom::AGeom2f
virtual void move (const float dx, const float dy) noexcept=0
 
virtual void move (const Point2f &d) noexcept=0
 
virtual void move_dir (const float d) noexcept=0
 
virtual void rotate (const float rad) noexcept=0
 
virtual bool tick (const float dt) noexcept
 
- Public Member Functions inherited from jau::math::geom::Geom2f
virtual ~Geom2f ()=default
 
virtual AABBox2f box () const noexcept=0
 
virtual bool contains (const Point2f &o) const noexcept=0
 
virtual bool intersection (Vec2f &reflect_out, Vec2f &cross_normal, Point2f &cross_point, const LineSeg2f &in) const noexcept=0
 Return whether this object intersects with the given line segment and if intersecting, the crossing point (intersection), the normalized normal of the crossing surface and the reflection out vector. More...
 
virtual bool intersects (const AABBox2f &box) const noexcept=0
 
virtual bool intersects (const Geom2f &o) const noexcept=0
 
virtual bool intersects (const LineSeg2f &o) const noexcept=0
 
virtual std::string toString () const noexcept=0
 

Public Attributes

float dir_angle
 direction angle in radians More...
 
Point2f p_center
 
std::vector< Point2fp_list
 

Detailed Description

A clockwise (CW) polyline.

Definition at line 761 of file geom2f.hpp.

Constructor & Destructor Documentation

◆ LineStrip2f() [1/2]

jau::math::geom::LineStrip2f::LineStrip2f ( )
inlinenoexcept

Definition at line 769 of file geom2f.hpp.

◆ LineStrip2f() [2/2]

jau::math::geom::LineStrip2f::LineStrip2f ( const Point2f center,
const float  angle 
)
inlinenoexcept

Definition at line 773 of file geom2f.hpp.

Member Function Documentation

◆ normalize_center()

void jau::math::geom::LineStrip2f::normalize_center ( )
inlinenoexcept

Definition at line 777 of file geom2f.hpp.

◆ box()

AABBox2f jau::math::geom::LineStrip2f::box ( ) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 792 of file geom2f.hpp.

◆ move_dir()

void jau::math::geom::LineStrip2f::move_dir ( const float  d)
inlineoverridevirtualnoexcept

Implements jau::math::geom::AGeom2f.

Definition at line 800 of file geom2f.hpp.

◆ move() [1/2]

void jau::math::geom::LineStrip2f::move ( const Point2f d)
inlineoverridevirtualnoexcept

Implements jau::math::geom::AGeom2f.

Definition at line 809 of file geom2f.hpp.

◆ move() [2/2]

void jau::math::geom::LineStrip2f::move ( const float  dx,
const float  dy 
)
inlineoverridevirtualnoexcept

Implements jau::math::geom::AGeom2f.

Definition at line 815 of file geom2f.hpp.

◆ rotate()

void jau::math::geom::LineStrip2f::rotate ( const float  radians)
inlineoverridevirtualnoexcept

Implements jau::math::geom::AGeom2f.

Definition at line 822 of file geom2f.hpp.

◆ set_center()

void jau::math::geom::LineStrip2f::set_center ( const Point2f p)
inline

Definition at line 838 of file geom2f.hpp.

◆ contains()

bool jau::math::geom::LineStrip2f::contains ( const Point2f o) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 844 of file geom2f.hpp.

◆ intersects() [1/3]

bool jau::math::geom::LineStrip2f::intersects ( const LineSeg2f o) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 848 of file geom2f.hpp.

◆ intersects() [2/3]

bool jau::math::geom::LineStrip2f::intersects ( const AABBox2f o) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 852 of file geom2f.hpp.

◆ intersects() [3/3]

bool jau::math::geom::LineStrip2f::intersects ( const Geom2f o) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 856 of file geom2f.hpp.

◆ intersects_lineonly()

bool jau::math::geom::LineStrip2f::intersects_lineonly ( const LineSeg2f o) const
inlinenoexcept

Definition at line 860 of file geom2f.hpp.

◆ intersection()

bool jau::math::geom::LineStrip2f::intersection ( Vec2f reflect_out,
Vec2f cross_normal,
Point2f cross_point,
const LineSeg2f in 
) const
inlineoverridevirtualnoexcept

Return whether this object intersects with the given line segment and if intersecting, the crossing point (intersection), the normalized normal of the crossing surface and the reflection out vector.

Implements jau::math::geom::Geom2f.

Definition at line 876 of file geom2f.hpp.

◆ toString()

std::string jau::math::geom::LineStrip2f::toString ( ) const
inlineoverridevirtualnoexcept

Implements jau::math::geom::Geom2f.

Definition at line 893 of file geom2f.hpp.

Member Data Documentation

◆ p_list

std::vector<Point2f> jau::math::geom::LineStrip2f::p_list

Definition at line 763 of file geom2f.hpp.

◆ p_center

Point2f jau::math::geom::LineStrip2f::p_center

Definition at line 764 of file geom2f.hpp.

◆ dir_angle

float jau::math::geom::LineStrip2f::dir_angle

direction angle in radians

Definition at line 766 of file geom2f.hpp.


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