ImageD  v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
D_Geo_Line_2D Class Reference

The D_Geo_Line_2D class represents a 2D line and offers usefulls methods for standard tasks for 2D points and lines. More...

#include <d_geo_line_2d.h>

Public Member Functions

 D_Geo_Line_2D ()
 
 D_Geo_Line_2D (double u, double v, double w)
 
 D_Geo_Line_2D (D_Geo_Point_2D P)
 
 D_Geo_Line_2D (D_Geo_Point_2D P1, D_Geo_Point_2D P2)
 
void set_line (D_Geo_Line_2D L)
 
bool set_point_point (D_Geo_Point_2D P1, D_Geo_Point_2D P2)
 
bool set_point_direction (D_Geo_Point_2D P_support, D_Geo_Point_2D direction)
 
bool set_point_angle (D_Geo_Point_2D P_support, double angle_rad)
 
double u ()
 
double v ()
 
double w ()
 
Mat Mat_homogenius ()
 
D_Geo_Point_2D direction ()
 
D_Geo_Point_2D support ()
 
D_Geo_Point_2D normal ()
 
double mult_scalar_homo (D_Geo_Line_2D L)
 
D_Geo_Point_2D mult_cross_homo (D_Geo_Line_2D L)
 
D_Geo_Point_2D intersection (D_Geo_Line_2D L)
 
bool parallel (D_Geo_Line_2D L, double delta=0)
 
double angle ()
 
double angle (D_Geo_Line_2D L)
 
double dist (D_Geo_Point_2D P)
 
bool point_on_line (D_Geo_Point_2D P, double dist_max=0)
 
bool intersection_rect (D_Geo_Point_2D *P1, D_Geo_Point_2D *P2, double t, double b, double l, double r)
 
bool intersection_rect (D_Geo_Point_2D *P1, D_Geo_Point_2D *P2, Rect R)
 
bool intersection_rect (D_Geo_Point_2D *P1, D_Geo_Point_2D *P2, Mat *M)
 

Detailed Description

The D_Geo_Line_2D class represents a 2D line and offers usefulls methods for standard tasks for 2D points and lines.

Supports homogenious coodinates. Calculation is done homogenious/inhomogenious, whichever is easier. From user perspektive, this is irelevant and handled internally.

Constructor & Destructor Documentation

◆ D_Geo_Line_2D() [1/4]

D_Geo_Line_2D::D_Geo_Line_2D ( )

◆ D_Geo_Line_2D() [2/4]

D_Geo_Line_2D::D_Geo_Line_2D ( double  u,
double  v,
double  w 
)

◆ D_Geo_Line_2D() [3/4]

D_Geo_Line_2D::D_Geo_Line_2D ( D_Geo_Point_2D  P)

◆ D_Geo_Line_2D() [4/4]

D_Geo_Line_2D::D_Geo_Line_2D ( D_Geo_Point_2D  P1,
D_Geo_Point_2D  P2 
)

Member Function Documentation

◆ angle() [1/2]

double D_Geo_Line_2D::angle ( )

◆ angle() [2/2]

double D_Geo_Line_2D::angle ( D_Geo_Line_2D  L)

◆ direction()

D_Geo_Point_2D D_Geo_Line_2D::direction ( )

◆ dist()

double D_Geo_Line_2D::dist ( D_Geo_Point_2D  P)

◆ intersection()

D_Geo_Point_2D D_Geo_Line_2D::intersection ( D_Geo_Line_2D  L)

◆ intersection_rect() [1/3]

bool D_Geo_Line_2D::intersection_rect ( D_Geo_Point_2D P1,
D_Geo_Point_2D P2,
double  t,
double  b,
double  l,
double  r 
)

◆ intersection_rect() [2/3]

bool D_Geo_Line_2D::intersection_rect ( D_Geo_Point_2D P1,
D_Geo_Point_2D P2,
Mat M 
)

◆ intersection_rect() [3/3]

bool D_Geo_Line_2D::intersection_rect ( D_Geo_Point_2D P1,
D_Geo_Point_2D P2,
Rect  R 
)

◆ Mat_homogenius()

Mat D_Geo_Line_2D::Mat_homogenius ( )

◆ mult_cross_homo()

D_Geo_Point_2D D_Geo_Line_2D::mult_cross_homo ( D_Geo_Line_2D  L)

◆ mult_scalar_homo()

double D_Geo_Line_2D::mult_scalar_homo ( D_Geo_Line_2D  L)

◆ normal()

D_Geo_Point_2D D_Geo_Line_2D::normal ( )

◆ parallel()

bool D_Geo_Line_2D::parallel ( D_Geo_Line_2D  L,
double  delta = 0 
)

◆ point_on_line()

bool D_Geo_Line_2D::point_on_line ( D_Geo_Point_2D  P,
double  dist_max = 0 
)

◆ set_line()

void D_Geo_Line_2D::set_line ( D_Geo_Line_2D  L)

◆ set_point_angle()

bool D_Geo_Line_2D::set_point_angle ( D_Geo_Point_2D  P_support,
double  angle_rad 
)

◆ set_point_direction()

bool D_Geo_Line_2D::set_point_direction ( D_Geo_Point_2D  P_support,
D_Geo_Point_2D  direction 
)

◆ set_point_point()

bool D_Geo_Line_2D::set_point_point ( D_Geo_Point_2D  P1,
D_Geo_Point_2D  P2 
)

◆ support()

D_Geo_Point_2D D_Geo_Line_2D::support ( )

◆ u()

double D_Geo_Line_2D::u ( )
inline

◆ v()

double D_Geo_Line_2D::v ( )
inline

◆ w()

double D_Geo_Line_2D::w ( )
inline

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