Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Rectangle Struct Reference

#include <geometry_primitives.h>

Inheritance diagram for Rectangle:
Inheritance graph
[legend]

Public Member Functions

Segment2D find_containing_edge (const Point2D &p) const
 
Intersections find_intersections (const Segment2D &s) const
 
Intersections find_intersections (const Ray &ray) const
 
bool has_on_edge_line (const Segment2D &s) const
 
Rectangleoperator= (const Rectangle &rhs)=default
 
Rectangleoperator= (Rectangle &&rhs)=default
 
 Rectangle ()
 
 Rectangle (double b, double t, double l, double r)
 
 Rectangle (const Rectangle &)=default
 
 Rectangle (Rectangle &&)=default
 
- Public Member Functions inherited from LightWeightRectangle
double area () const
 
double bot () const
 
Point2D center () const
 
bool contains (const Point2D &p) const
 
bool contains (double x, double y) const
 
auto corners () const
 
double hside_len () const
 
auto intersect (const LightWeightRectangle &that) const
 
bool is_line () const
 
bool is_point () const
 
bool is_square () const
 
double left () const
 
 LightWeightRectangle ()
 
 LightWeightRectangle (double b, double t, double l, double r)
 
 LightWeightRectangle (const Point2D &p)
 
LVRect move_center (const Point2D &new_center) const
 
bool operator== (const LightWeightRectangle &rhs) const
 
auto overlap (const LightWeightRectangle &that) const
 
double right () const
 
auto shrink (double factor) const
 
double side () const
 
auto split4_evenly () const
 
auto split_horz () const
 
auto split_vert () const
 
double top () const
 
double vside_len () const
 

Private Member Functions

const Segment2Dbot_edge () const
 
const std::vector< Segment2D > & edges () const
 
const Segment2Dleft_edge () const
 
const Segment2Dright_edge () const
 
const Segment2Dtop_edge () const
 

Private Attributes

const std::vector< Segment2D_edges
 

Static Private Attributes

static constexpr std::size_t BOT_EDGE_IDX = 0
 
static constexpr std::size_t LFT_EDGE_IDX = 2
 
static constexpr std::size_t RHT_EDGE_IDX = 3
 
static constexpr std::size_t TOP_EDGE_IDX = 1
 

Detailed Description

Definition at line 322 of file geometry_primitives.h.

Constructor & Destructor Documentation

Rectangle::Rectangle ( )
inline

Definition at line 330 of file geometry_primitives.h.

Rectangle::Rectangle ( double  b,
double  t,
double  l,
double  r 
)
inline

Definition at line 331 of file geometry_primitives.h.

Rectangle::Rectangle ( const Rectangle )
default
Rectangle::Rectangle ( Rectangle &&  )
default

Member Function Documentation

const Segment2D& Rectangle::bot_edge ( ) const
inlineprivate

Definition at line 397 of file geometry_primitives.h.

const std::vector<Segment2D>& Rectangle::edges ( ) const
inlineprivate

Definition at line 402 of file geometry_primitives.h.

Segment2D Rectangle::find_containing_edge ( const Point2D p) const
inline

Definition at line 358 of file geometry_primitives.h.

Intersections Rectangle::find_intersections ( const Segment2D s) const
inline

Definition at line 368 of file geometry_primitives.h.

Intersections Rectangle::find_intersections ( const Ray ray) const
inline

Definition at line 376 of file geometry_primitives.h.

bool Rectangle::has_on_edge_line ( const Segment2D s) const
inline

Definition at line 348 of file geometry_primitives.h.

const Segment2D& Rectangle::left_edge ( ) const
inlineprivate

Definition at line 399 of file geometry_primitives.h.

Rectangle& Rectangle::operator= ( const Rectangle rhs)
default
Rectangle& Rectangle::operator= ( Rectangle &&  rhs)
default
const Segment2D& Rectangle::right_edge ( ) const
inlineprivate

Definition at line 400 of file geometry_primitives.h.

const Segment2D& Rectangle::top_edge ( ) const
inlineprivate

Definition at line 398 of file geometry_primitives.h.

Member Data Documentation

const std::vector<Segment2D> Rectangle::_edges
private

Definition at line 406 of file geometry_primitives.h.

constexpr std::size_t Rectangle::BOT_EDGE_IDX = 0
staticprivate

Definition at line 324 of file geometry_primitives.h.

constexpr std::size_t Rectangle::LFT_EDGE_IDX = 2
staticprivate

Definition at line 326 of file geometry_primitives.h.

constexpr std::size_t Rectangle::RHT_EDGE_IDX = 3
staticprivate

Definition at line 327 of file geometry_primitives.h.

constexpr std::size_t Rectangle::TOP_EDGE_IDX = 1
staticprivate

Definition at line 325 of file geometry_primitives.h.


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


slam_constructor
Author(s): JetBrains Research, OSLL team
autogenerated on Mon Jun 10 2019 15:08:26