jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
jau::math::geom::Rect2f Class Reference

#include <geom2f.hpp>

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

Public Member Functions

 Rect2f (const Point2f &tl_, const float width, const float height) noexcept
 
 Rect2f (const Point2f &tl_, const float width, const float height, const float radians) noexcept
 
 Rect2f (const Point2f &tl_, const Point2f &tr_, const Point2f &bl_, const Point2f &br_) 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.
 
bool intersection (Vec2f &reflect_out, Vec2f &cross_normal, Point2f &cross_point, const LineSeg2f &in, const float in_radius) const noexcept
 
bool intersects (const AABBox2f &o) const noexcept override
 
bool intersects (const Geom2f &o) const noexcept override
 
bool intersects (const LineSeg2f &o) const noexcept override
 
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 rotate (const float radians) noexcept override
 
void rotate (const float radians, const Point2f &p) noexcept
 
void set_top_left (const Point2f &p)
 
std::string toString () const noexcept override
 
- Public Member Functions inherited from jau::math::geom::AGeom2f
virtual bool tick (const float dt) noexcept
 
- Public Member Functions inherited from jau::math::geom::Geom2f
virtual ~Geom2f ()=default
 

Public Attributes

float dir_angle
 direction angle in radians
 
Point2f p_a
 Unrotated, clockwise (CW):
 
Point2f p_b
 Unrotated top-right.
 
Point2f p_c
 Unrotated bottom-left.
 
Point2f p_center
 
Point2f p_d
 Unrotated bottom_right.
 

Detailed Description

Definition at line 555 of file geom2f.hpp.

Constructor & Destructor Documentation

◆ Rect2f() [1/3]

jau::math::geom::Rect2f::Rect2f ( const Point2f & tl_,
const float width,
const float height,
const float radians )
inlinenoexcept

Definition at line 579 of file geom2f.hpp.

◆ Rect2f() [2/3]

jau::math::geom::Rect2f::Rect2f ( const Point2f & tl_,
const float width,
const float height )
inlinenoexcept

Definition at line 590 of file geom2f.hpp.

◆ Rect2f() [3/3]

jau::math::geom::Rect2f::Rect2f ( const Point2f & tl_,
const Point2f & tr_,
const Point2f & bl_,
const Point2f & br_ )
inlinenoexcept

Definition at line 600 of file geom2f.hpp.

Member Function Documentation

◆ box()

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

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

Definition at line 607 of file geom2f.hpp.

Here is the caller graph for this function:

◆ move_dir()

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

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

Definition at line 611 of file geom2f.hpp.

◆ move() [1/2]

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

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

Definition at line 621 of file geom2f.hpp.

Here is the caller graph for this function:

◆ move() [2/2]

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

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

Definition at line 628 of file geom2f.hpp.

◆ rotate() [1/2]

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

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

Definition at line 636 of file geom2f.hpp.

Here is the caller graph for this function:

◆ rotate() [2/2]

void jau::math::geom::Rect2f::rotate ( const float radians,
const Point2f & p )
inlinenoexcept

Definition at line 639 of file geom2f.hpp.

◆ set_top_left()

void jau::math::geom::Rect2f::set_top_left ( const Point2f & p)
inline

Definition at line 649 of file geom2f.hpp.

◆ contains()

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

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

Definition at line 656 of file geom2f.hpp.

◆ intersects() [1/3]

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

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

Definition at line 660 of file geom2f.hpp.

◆ intersects() [2/3]

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

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

Definition at line 664 of file geom2f.hpp.

◆ intersects() [3/3]

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

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

Definition at line 668 of file geom2f.hpp.

◆ intersection() [1/2]

bool jau::math::geom::Rect2f::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 672 of file geom2f.hpp.

◆ intersection() [2/2]

bool jau::math::geom::Rect2f::intersection ( Vec2f & reflect_out,
Vec2f & cross_normal,
Point2f & cross_point,
const LineSeg2f & in,
const float in_radius ) const
inlinenoexcept

Definition at line 704 of file geom2f.hpp.

◆ toString()

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

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

Definition at line 748 of file geom2f.hpp.

Member Data Documentation

◆ p_a

Point2f jau::math::geom::Rect2f::p_a

Unrotated, clockwise (CW):

(a)--—(b)

(c)--—(d) Unrotated top-left

Definition at line 567 of file geom2f.hpp.

◆ p_b

Point2f jau::math::geom::Rect2f::p_b

Unrotated top-right.

Definition at line 569 of file geom2f.hpp.

◆ p_c

Point2f jau::math::geom::Rect2f::p_c

Unrotated bottom-left.

Definition at line 571 of file geom2f.hpp.

◆ p_d

Point2f jau::math::geom::Rect2f::p_d

Unrotated bottom_right.

Definition at line 573 of file geom2f.hpp.

◆ p_center

Point2f jau::math::geom::Rect2f::p_center

Definition at line 574 of file geom2f.hpp.

◆ dir_angle

float jau::math::geom::Rect2f::dir_angle

direction angle in radians

Definition at line 576 of file geom2f.hpp.


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