#include <btol_face_algs.h>
Static Public Member Functions | |
static bool | vtol_to_vgl (vtol_face_2d_sptr const &face, vgl_polygon< double > &poly) |
convert a face to a vgl_polygon. | |
static bool | vgl_to_vtol (vgl_polygon< double >const &poly, vtol_face_2d_sptr &face) |
convert a vgl_polygon to a vtol_face_2d. Works for multiply-connected polys. | |
static bool | vsol_to_vtol (vsol_polygon_2d_sptr const &poly, vtol_face_2d_sptr &face) |
static bool | edge_intersects (vtol_face_2d_sptr const &face, vtol_edge_2d_sptr const &edge) |
currently only works for a digital edge (not a line segment). | |
static bool | intersecting_edges (vtol_face_2d_sptr const &face, vcl_vector< vtol_edge_2d_sptr > const &edges, vcl_vector< vtol_edge_2d_sptr > &inter_edges) |
takes an input set of edges and constructs the intersecting set. | |
static vsol_point_2d_sptr | centroid (vtol_face_2d_sptr const &face) |
only valid for face with straight line edges. | |
static vtol_face_2d_sptr | box (const double x0, const double y0, const double width, const double height) |
create an axis-aligned box face. | |
static vtol_one_chain_sptr | one_chain (vcl_vector< vtol_vertex_sptr > const &verts) |
create a one chain from a set of vertices. | |
static vtol_face_2d_sptr | transform (vtol_face_2d_sptr const &face, vnl_matrix_fixed< double, 3, 3 > const &T) |
transform the face with a general 3x3 planar mapping. | |
Private Member Functions | |
btol_face_algs () | |
~btol_face_algs () |
Definition at line 23 of file btol_face_algs.h.
btol_face_algs::btol_face_algs | ( | ) | [inline, private] |
Definition at line 58 of file btol_face_algs.h.
btol_face_algs::~btol_face_algs | ( | ) | [inline, private] |
Definition at line 59 of file btol_face_algs.h.
vtol_face_2d_sptr btol_face_algs::box | ( | const double | x0, |
const double | y0, | ||
const double | width, | ||
const double | height | ||
) | [static] |
create an axis-aligned box face.
Definition at line 206 of file btol_face_algs.cxx.
vsol_point_2d_sptr btol_face_algs::centroid | ( | vtol_face_2d_sptr const & | face | ) | [static] |
only valid for face with straight line edges.
only works if the edges are straight lines.
Definition at line 184 of file btol_face_algs.cxx.
bool btol_face_algs::edge_intersects | ( | vtol_face_2d_sptr const & | face, |
vtol_edge_2d_sptr const & | edge | ||
) | [static] |
currently only works for a digital edge (not a line segment).
Definition at line 131 of file btol_face_algs.cxx.
bool btol_face_algs::intersecting_edges | ( | vtol_face_2d_sptr const & | face, |
vcl_vector< vtol_edge_2d_sptr > const & | edges, | ||
vcl_vector< vtol_edge_2d_sptr > & | inter_edges | ||
) | [static] |
takes an input set of edges and constructs the intersecting set.
Returns false if the intersecting set is empty.
Definition at line 165 of file btol_face_algs.cxx.
vtol_one_chain_sptr btol_face_algs::one_chain | ( | vcl_vector< vtol_vertex_sptr > const & | verts | ) | [static] |
create a one chain from a set of vertices.
create a simply-connected one_chain from a set of vertices.
dir=true corresponds to +.
Definition at line 224 of file btol_face_algs.cxx.
vtol_face_2d_sptr btol_face_algs::transform | ( | vtol_face_2d_sptr const & | face, |
vnl_matrix_fixed< double, 3, 3 > const & | T | ||
) | [static] |
transform the face with a general 3x3 planar mapping.
create a new face by transforming the input face.
Only valid for faces with linear (straight line) geometry
Definition at line 250 of file btol_face_algs.cxx.
bool btol_face_algs::vgl_to_vtol | ( | vgl_polygon< double >const & | poly, |
vtol_face_2d_sptr & | face | ||
) | [static] |
convert a vgl_polygon to a vtol_face_2d. Works for multiply-connected polys.
Definition at line 96 of file btol_face_algs.cxx.
bool btol_face_algs::vsol_to_vtol | ( | vsol_polygon_2d_sptr const & | poly, |
vtol_face_2d_sptr & | face | ||
) | [static] |
Definition at line 308 of file btol_face_algs.cxx.
bool btol_face_algs::vtol_to_vgl | ( | vtol_face_2d_sptr const & | face, |
vgl_polygon< double > & | poly | ||
) | [static] |
convert a face to a vgl_polygon.
Definition at line 37 of file btol_face_algs.cxx.