|
| Model_edge (double x1, double y1, double x2, double y2, bool isilhouette=false, bool isvisible=false, bool iflagged=false) |
| Constructs a model edge from the position of its edge points. More...
|
|
| Model_edge (const kjb::Vector &istart, const kjb::Vector &iend, bool isilhouette=false, bool isvisible=false, bool iflagged=false) |
| Constructs a model edge from the position of its edge points. More...
|
|
| Model_edge (const Model_edge &src) |
| Copy constructor. More...
|
|
Model_edge & | operator= (const Model_edge &src) |
|
bool | operator== (const Model_edge &model_edge) const |
|
void | read (std::istream &in) |
| Reads this Model segment from an input stream. More...
|
|
void | write (std::ostream &out) const |
| Writes this Model segment to an output stream. More...
|
|
bool | is_silhouette () const |
| Returns true if this model edge is a silhouette edge. More...
|
|
bool | is_visible () const |
| Returns true if this model edge is an visible edge. More...
|
|
void | set_silhouette (bool isilhouette) |
| Sets whether this model edge is a silhouette edge or not. More...
|
|
void | set_flagged (bool iflagged) |
| Sets whether this model edge is flagged or not. More...
|
|
void | set_visible (bool isvisible) |
| Sets whether this model edge is a visible edge or not. More...
|
|
void | update_detected_segments (const Edge_segment &image_edge_segment, double collinear_distance_threshold, Vector &previous_center, bool &mapped, double noisy_length) |
| Update the detectd parts when projecting an image segment onto the model edge. More...
|
|
double | get_detected_length () |
| Return the detected length of this model segment. More...
|
|
bool | is_flagged () const |
|
| Line_segment () |
| Constructor without initializations. More...
|
|
| Line_segment (double icentre_x, double icentre_y, double iorientation, double ilength) |
| Constructs a new Line_segment from centre, orientation, length. More...
|
|
| Line_segment (const Vector &start, const Vector &end) |
| Constructs a new Line_segment from a starting and ending point. More...
|
|
| Line_segment (std::istream &in) |
| Constructs this line segment by reading from an input stream. More...
|
|
| Line_segment (const Line_segment &ls) |
| Copy constructor. More...
|
|
Line_segment & | operator= (const Line_segment &ls) |
| Assignment operator. More...
|
|
bool | operator== (const Line_segment &ls) const |
|
bool | operator< (const Line_segment &ls) const |
|
void | init_from_slope_and_intercept (double x_start, double x_end, double islope, double iintercept) |
| Initialize from x_start, x_end, slope, y_axis intercept. More...
|
|
void | init_vertical_segment (double y_start, double y_end, double x) |
| Initialize a vertical Line_segment from y_start, y_end, x coord. More...
|
|
void | init_from_end_points (double x_1, double y_1, double x_2, double y_2) |
| Initialize a new Line_segment from position of its end points. More...
|
|
void | init_from_centre_and_orientation (double icentre_x, double icentre_y, double iorientation, double ilength) |
|
double | get_centre_x () const |
| Returns the x-coordinate of the mid-point. More...
|
|
double | get_centre_y () const |
| Returns the y-coordinate of the mid-point. More...
|
|
bool | point_outside_segment (const Vector &point) const |
| Check whether point is inside the ending points of this segment Note point is collinear with this line segment. More...
|
|
const kjb::Vector & | get_centre () const |
| Returns the mid-point. More...
|
|
double | get_start_x () const |
| Returns the x-coordinate of the leftmost point of the segment. More...
|
|
double | get_start_y () const |
| Returns the y-coordinate of the leftmost point of the segment. More...
|
|
const kjb::Vector & | get_start () const |
| Returns the leftmost point of the segment. More...
|
|
double | get_end_x () const |
| Returns the x-coordinate of the rightmost point of the segment. More...
|
|
double | get_end_y () const |
| Returns the y-coordinate of the rightmost point of the segment. More...
|
|
const kjb::Vector & | get_end () const |
| Returns the rightmost point of the segment. More...
|
|
double | get_slope () const |
| Returns the slope of the line segment. More...
|
|
double | get_y_intercept () const |
| Returns the y-intercept of the line segment. More...
|
|
double | get_x_intercept () const |
| Returns the x-intercept of the line segment. More...
|
|
const Vector & | get_line_params () const |
|
const Line & | get_line () const |
|
double | get_orientation () const |
| Returns the orientation. More...
|
|
double | get_length () const |
| Returns the length. More...
|
|
void | draw (kjb::Image &img, double ir, double ig, double ib, double width=1.0) const |
| Draws this line segment. More...
|
|
void | randomly_color (kjb::Image &img, double width=1.0) const |
| Randomly colors this line segment on an image. More...
|
|
bool | get_intersection (const Line_segment &line, kjb::Vector &point) const |
| Finds the intersection point of the this line_segment and the input Line_segment line. Return false if these two lines are parallel and therefore do not intersect. More...
|
|
double | get_distance_from_point (const kjb::Vector &point) const |
| Returns distance between this line segment and the input point. More...
|
|
double | get_angle_between_line (const Line_segment &line) const |
| Returns the angle between this line segment and the input line. More...
|
|
double | find_t (const kjb::Vector &point) const |
|
double | get_distance_from_point (const kjb::Vector &point, double *perp_dist) const |
| Returns distance between this line segment and the input point. More...
|
|
double | get_dx () const |
| Returns the dx of this segment. More...
|
|
double | get_dy () const |
| Returns the dy of this segment. More...
|
|
bool | is_horizontal () const |
| Function object of testing whehter a line is horizontal. More...
|
|
bool | is_vertical () const |
| Function object of testing whehter a line is horizontal. More...
|
|
void | get_direction (kjb::Vector &idirection) const |
| Returns a vector representing the normalized direction of this line_segment. More...
|
|
bool | is_line_segment_consistent () |
|
bool | is_collinear (const Line_segment &ls, double collinear_threshold) const |
|
virtual | ~Readable () |
| Deletes this Readable. More...
|
|
virtual void | read (const char *fname) |
| Reads this Readable from a file. More...
|
|
virtual | ~Writeable () |
| Deletes this Writeable. More...
|
|
virtual void | write (const char *fname) const |
| Writes this Writeable to a file. More...
|
|
|
static std::pair< Vector, Vector > | project_line_segment_onto_line (const Line_segment &segment, const Line &iline) |
| Project a line segment onto a line. More...
|
|
static bool | project_line_segment_onto_line_segment (const Line_segment &segment_project, const Line_segment &segment_target, std::pair< Vector, Vector > &projected_points, double &length_inside, double &length_outside) |
| Project a line segment onto a line segment. More...
|
|
static bool | less_than (const Vector &point1, const Vector &point2) |
| Returns true if point1.x < point2.x || (point1.x == point2.x && point1.y < point2.y. More...
|
|
static bool | collision_detection (double start_1, double end_1, double start_2, double end_2, int &direction, double &delta) |
|
static bool | collision_detection_with_direction (double start_1, double end_1, double start_2, double end_2, int &direction, double &delta, int idirection) |
|
static double | get_overlap (double start_1, double end_1, double start_2, double end_2) |
|
static const char * | read_field_value (std::istream &in, const char *field_name, char *field_buf, size_t buf_len, char separator=':') |
| Reads a line off in into a buffer and returns a pointer to the field value in the buffer. More...
|
|
static const char * | read_field_value (std::istream &in, const char *field_name, char separator=':') |
| Reads a line off in into an internal buffer and returns a pointer to the field value in the buffer. More...
|
|
void | compute_extrema () |
| Computes the extrema of this line segments from centre, orientation, and length. This information is redundant, but it can be very useful to have them pre-computed. More...
|
|
void | compute_line_parameters () |
|
kjb::Vector | centre |
| X coordinate of the centre of this line segment. More...
|
|
double | orientation |
| Orientation of this line segment, defined as the angle between the x axis and the segment, positive angle meaning counter clockwise. Ranges between 0 and 180 degrees. Stored in radian. More...
|
|
double | length |
| length of the line segment More...
|
|
kjb::Vector | start_point |
|
kjb::Vector | end_point |
|
Line | line |
|
static Matrix | _line_segment_rotation |
|