xc
Public Member Functions | List of all members
Polyline2d Class Reference

Polyline in a two-dimensional space. More...

#include <Polyline2d.h>

Inheritance diagram for Polyline2d:
Inheritance graph
[legend]
Collaboration diagram for Polyline2d:
Collaboration graph
[legend]

Public Member Functions

 Polyline2d (void)
 Default constructor.
 
 Polyline2d (const GeomObj::list_Pos2d &)
 Constructor.
 
 Polyline2d (const Pos2dList &)
 Constructor.
 
 Polyline2d (const boost::python::list &)
 Constructor (Python interface).
 
 Polyline2d (const Polygon2d &)
 Constructor.
 
virtual GeomObj * getCopy (void) const
 
const GeomObj::list_Pos2d & getVertices (void) const
 Return the list of the vertices.
 
const GeomObj::list_Pos2d & getVertexList (void) const
 Return the list of the vertices.
 
boost::python::list getVertexListPy (void) const
 Return a Python list containing the positions of the polyline vertices. More...
 
size_t getNumVertices (void) const
 
size_t getNumSegments (void) const
 
void setVertices (const boost::python::list &)
 Set the polyline vertices from the given Python list.
 
const_iterator vertices_begin (void) const
 
const const_iterator vertices_end (void) const
 
void Transform (const Trf2d &trf2d)
 Applies the transformation to the points que se pasa como parámetro.
 
const Pos2d * appendVertex (const Pos2d &)
 Append a vertex to the polyline.
 
const Pos2d * appendVertexLeft (const Pos2d &)
 Append a vertex to the beginning of the polyline.
 
template<class InputIterator >
void assign (InputIterator first, InputIterator last)
 Insert the vertices between [first,last) antes.
 
virtual bool In (const Pos2d &p, const double &tol=0.0) const
 Return true if the point is in the polyline.
 
virtual GEOM_FT dist2 (const Pos2d &p) const
 Return the squared distance to the polyline.
 
GEOM_FT dist (const Pos2d &p) const
 Return the distance from the point to the segment.
 
virtual GEOM_FT Ix (void) const
 Moment of inertia with respect to the center of mass en local axis. More...
 
virtual GEOM_FT Iy (void) const
 Moment of inertia with respect to an axis parallel to the Y axis that passes through the center of mass. More...
 
virtual GEOM_FT Iz (void) const
 
GEOM_FT getCurvatureAtVertex (const_iterator) const
 Return the approximate curvature of the polyline at the vertex pointed by the iterator argument. More...
 
GEOM_FT getCurvatureAtLength (const GEOM_FT &) const
 Return the approximate curvature of the polyline at the the point at a distance "s" measured along the polyline from its origin. More...
 
Vector2d getCurvatureVectorAtVertex (const_iterator) const
 Return the approximate curvature of the polyline at the vertex pointed by the iterator argument. More...
 
std::vector< Vector2d > getCurvatureVectorAtVertices (void) const
 Return the approximate curvature of the polyline at each of its vertices. More...
 
Vector2d getCurvatureVectorAtLength (const GEOM_FT &) const
 Return the approximate curvature vector of the polyline at the the point at a distance "s" measured along the polyline from its origin. More...
 
Pos2d getPointAtLength (const GEOM_FT &) const
 Return the point at a distance "s" measured along the polyline from its origin. More...
 
Vector2d getIVectorAtLength (const GEOM_FT &) const
 Return the I vector of the segment that lies at the point at a distance "s" measured along the polyline from its origin. More...
 
Vector2d getJVectorAtLength (const GEOM_FT &) const
 Return the J vector of the segment that lies at the point at a distance "s" measured along the polyline from its origin. More...
 
std::vector< Vector2d > getTangentVectorAtVertices (void) const
 Compute the tangent vectors at each of the polyline vertices.
 
boost::python::list getTangentVectorAtVerticesPy (void) const
 Return a Python list containing the tangent vectors at each of the polyline vertices. More...
 
std::vector< Vector2d > getNormalVectorAtVertices (void) const
 Compute the normal vectors at each of the polyline vertices.
 
boost::python::list getNormalVectorAtVerticesPy (void) const
 Return a Python list containing the normal vectors at each of the polyline vertices. More...
 
VectorPos2d Divide (int num_partes) const
 Return the points that results from the division of the polyline. More...
 
boost::python::list DividePy (int num_partes) const
 Return a Python list containing the points that results from the division of the polyline. More...
 
VectorPos2d Divide (const std::vector< double > &) const
 Return the points that divide the polyline in the proportions being passed as parameter. More...
 
boost::python::list DividePy (const boost::python::list &) const
 Return a Python list containing the points that results from the division of the polyline. More...
 
virtual GEOM_FT Pxy (void) const
 Inertia product.
 
virtual GEOM_FT getLength (void) const
 Return the length of the object.
 
virtual GEOM_FT getLengthUpTo (const Pos2d &) const
 Return the length along the polyline upto the given point.
 
GEOM_FT getLambda (const Pos2d &p) const
 Return the lambda parameter for the given point: p= getFromPoint()+lambda*VDir()
 
virtual GEOM_FT GetMax (unsigned short int i) const
 Return the maximum value of the i coordinate.
 
virtual GEOM_FT GetMin (unsigned short int i) const
 Return the minimum value of the i coordinate.
 
Polyline2d GetMayores (unsigned short int i, const GEOM_FT &d) const
 Return the minimum value of the i coordinate. More...
 
Polyline2d GetMenores (unsigned short int i, const GEOM_FT &d) const
 Return a Polyline2d with the vertices whose i-th coordinate is smaller than d. More...
 
const Pos2d & Vertice (const size_t &) const
 Return the i-th vertex (the first one has the index 1).
 
const Pos2d & Vertice0 (const size_t &) const
 Return the i-th vertex (the first one has the index 0).
 
Segment2d getSegment (const const_iterator &i) const
 Return the segment that follows the *i vertex.
 
Segment2d getSegment (const size_t &i) const
 Return i-th segment (the first one is the 1).
 
Segment2d getSegment0 (const size_t &i) const
 Return i-th segment (the first one is the 0).
 
std::vector< Segment2d > getSegments (void) const
 Return a vector containing the consecutive segments of the polyline.
 
const_iterator getNearestSegmentIter (const Pos2d &) const
 Return the nearest segment to the given point. More...
 
int getNearestSegmentIndex (const Pos2d &) const
 Return the index of the nearest 3D segment. More...
 
Segment2d getNearestSegment (const Pos2d &) const
 Return the nearest 2D segment. More...
 
Pos2d Projection (const Pos2d &) const
 Return the projection of the given point into the polyline. More...
 
Polyline2d offset (const GEOM_FT &d) const
 Return a polyline parallel to this one at the distance being passed as parameter. More...
 
Polygon2d getBufferPolygon (const GEOM_FT &d, const size_t &numVertices=8) const
 Return a buffer polygon around the segment. More...
 
std::deque< const_iterator > getIntersectionIters (const Line2d &) const
 Return the iterators to the origin vertices of the polyline segments where the intersection with the plane occur. More...
 
list_Pos2d getIntersection (const Line2d &r) const
 Return the points of intersection of the polyline with the argument. More...
 
list_Pos2d getIntersection (const Ray2d &sr) const
 Return the points of intersection of the polyline with the argument. More...
 
list_Pos2d getIntersection (const Segment2d &sr) const
 Return the points of intersection of the polyline with the argument. More...
 
std::deque< Polyline2d > clip (const HalfPlane2d &, const GEOM_FT &tol=0.0) const
 Return the polyline chunks that result from clippin this polyline with the given half space. More...
 
boost::python::list clipPy (const HalfPlane2d &, const GEOM_FT &tol=0.0) const
 
void insertVertex (const Pos2d &, const GEOM_FT &tol=1e-6)
 Insert the point argument as vertex by splitting the nearest segment if the nearest vertex is not closer than tol. More...
 
Polyline2d getChunk (const Pos2d &, const short int &, const GEOM_FT &tol) const
 Assuming that p is a vertex of the polyline Return the chunk: from the beginning to p if sgn < 0 from p to the end if sgn >= 0. More...
 
Polyline2d getLeftChunk (const Pos2d &, const GEOM_FT &tol) const
 Return the polyline chunk that goes from its beginning to the nearest vertex to p. More...
 
Polyline2d getRightChunk (const Pos2d &, const GEOM_FT &tol) const
 Return the polyline chunk that goes the nearest vertex to to p to its end. More...
 
boost::python::list split (const Pos2d &) const
 Return the two polylines that result from splitting this one on the point nearest to the argument. More...
 
Pos2d getCenterOfMass (void) const
 
iterator getFarthestPointFromSegment (iterator it1, iterator it2, GEOM_FT &pMaxDist)
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
void Print (std::ostream &stream) const
 
void Plot (Plotter &) const
 
- Public Member Functions inherited from Linear2d
virtual unsigned short int Dimension (void) const
 Return the dimension of the object 0, 1, 2 or 3.
 
virtual GEOM_FT getArea (void) const
 Return the area of the object.
 
virtual GEOM_FT getVolume (void) const
 Return the volume of the object.
 
std::vector< std::pair< Pos2d, GEOM_FT > > sortPointsAlong (const GeomObj2d::list_Pos2d &) const
 Return the given points sorted by its parameter along the line (assuming they are on the line) in the form of a list of (position, lambda) pairs. More...
 
boost::python::list sortPointsAlongPy (const boost::python::list &) const
 Return the given points sorted by its parameter along the line (assuming they are on the line) in the form of a list of (position, lambda) pairs. More...
 
- Public Member Functions inherited from GeomObj2d
GEOM_FT GetXMax (void) const
 
GEOM_FT GetYMax (void) const
 
GEOM_FT GetXMin (void) const
 
GEOM_FT GetYMin (void) const
 
Pos2d getPMax (void) const
 
Pos2d getPMin (void) const
 
virtual Vector2d Projection (const Vector2d &) const
 Return the projection onto the line. More...
 
BND2d Bnd (void) const
 Return the bounding rectangle.
 
virtual bool Out (const Pos2d &p, const double &tol=0.0) const
 Return true if the point lies outside the object.
 
virtual GEOM_FT getCenterOfMassFactor (void) const
 Return the factor used for the computation of the center of mass (1.0 by default). More...
 
GEOM_FT Wx (void) const
 Return the section modulus.
 
GEOM_FT Wy (void) const
 Return the section modulus.
 
double Theta_p (void) const
 Return the angle of one of the principal axis of inertia.
 
Dir2d IAxisDir_a (void) const
 Return the dirección de un principal axis of inertia (we don't know if it's the major or the minor yet). More...
 
Dir2d IAxisDir_b (void) const
 Return the direction of the other principal axis of inertia (we don't know if it's the major or the minor yet). More...
 
Line2d IAxis_a (void) const
 Return un principal axis of inertia (no sabemos si el mayor o el menor.
 
Line2d IAxis_b (void) const
 Return un principal axis of inertia (no sabemos si el mayor o el menor.
 
Ref2d2d PrincipalAxesOfInertia (void) const
 Return los principal axis of inertia.
 
GEOM_FT I1 (void) const
 Return the moment of inertia principal mayor.
 
GEOM_FT I2 (void) const
 Return the moment of inertia principal menor.
 
PrincipalAxes2D Inertia (void)
 
GEOM_FT I (const unsigned short int &i, const unsigned short int &j) const
 Return the componente i,j of the inertia tensor computed with respect to the center of mass. More...
 
virtual GEOM_FT IArea (void) const
 
GEOM_FT I (const Pos2d &O, const Vector2d &e) const
 Return the moment of inertia with respect to the axis that passes through O with the direction of e. More...
 
GEOM_FT I (const Line2d &r) const
 Return the moment of inertia with respect to the line argument.
 
GEOM_FT I (const unsigned short int i, const unsigned short int j, const Pos2d &o) const
 Return the component i,j of the inertia tensor computed with respect to the point "o". More...
 
GEOM_FT IO (const Pos2d &o) const
 Return the polar moment of inertia with respect to the point o.
 
FT_matrix I (void) const
 Return the inertia tensor with respect to the center of mass of the object.
 
FT_matrix I (const Pos2d &o) const
 Return the inertia tensor with respect to the point o.
 
virtual void Move (const Vector2d &)
 Desplaza el objeto.
 
- Public Member Functions inherited from GeomObj
 GeomObj (void)
 Constructor.
 
virtual bool hasCenterOfMass (void) const
 Return true if the object has a center of mass.
 
GEOM_FT getCenterOfMassArea (void) const
 Return the dimension used to compute the center of mass, as follows: More...
 
- Public Member Functions inherited from ProtoGeom
 ProtoGeom (void)
 False when solution is not possible: intersection of parallel planes. More...
 
void setExists (bool e)
 
bool exists (void) const
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from CommandEntity
 CommandEntity (CommandEntity *owr=nullptr)
 Default constructor.
 
CommandEntity * Owner (void)
 Return a pointer to the object owner.
 
const CommandEntity * Owner (void) const
 Return un puntero al objeto propietario de ESTE.
 
const StandardOutputWrapper & getStandardOutputWrapper (void) const
 Return the regular output stream wrapper.
 
StandardOutputWrapper & getStandardOutputWrapper (void)
 Return the regular output stream wrapper.
 
const std::string & getLogFileName (void) const
 Returns log file name.
 
void setLogFileName (const std::string &)
 Sets log file name.
 
const std::string & getErrFileName (void) const
 Returns err file name.
 
void setErrFileName (const std::string &)
 Sets error file name.
 
const std::string & getOutputFileName (void) const
 Returns regular output file name.
 
void setOutputFileName (const std::string &)
 Sets regular output file name.
 
boost::python::object evalPy (boost::python::object dict, const std::string &)
 Return the Python object that results from evaluating the argument.
 
boost::python::object execPy (boost::python::object dict, const std::string &)
 Return the Python objects that results from executing the code in the string argument.
 
boost::python::object execFilePy (boost::python::object dict, const std::string &)
 Return the Python object that results from executing the code in the file.
 
- Public Member Functions inherited from EntityWithProperties
 EntityWithProperties (EntityWithProperties *owr=nullptr)
 Default constructor.
 
void clearPyProps (void)
 Clear python properties map.
 
bool hasPyProp (const std::string &)
 Returns true if property exists.
 
boost::python::object getPyProp (const std::string &str)
 Return the Python object with the name being passed as parameter.
 
void setPyProp (std::string str, boost::python::object val)
 Sets/appends a value tho the Python object's dictionary.
 
void copyPropsFrom (const EntityWithProperties &)
 Copy the properties from the argument.
 
boost::python::list getPropNames (void) const
 Return the names of the object properties weightings.
 
const PythonDict & getPropertiesDict (void) const
 Return a std::map container with the properties of the object.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary containing the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from EntityWithOwner
 EntityWithOwner (EntityWithOwner *owr=nullptr)
 Default constructor.
 
 EntityWithOwner (const EntityWithOwner &)
 Copy constructor.
 
EntityWithOwner & operator= (const EntityWithOwner &)
 Assignment operator.
 
virtual bool operator== (const EntityWithOwner &) const
 Comparison operator.
 
virtual ~EntityWithOwner (void)
 Virtual destructor.
 
virtual std::string getClassName (void) const
 Returns demangled class name.
 
void set_owner (EntityWithOwner *owr)
 Assigns the owner of the object.
 
EntityWithOwner * Owner (void)
 
const EntityWithOwner * Owner (void) const
 
- Public Member Functions inherited from PolyPos< Pos2d >
 PolyPos (size_t n)
 
 PolyPos (size_t n, const Pos2d &p)
 
 PolyPos (const std::deque< Pos2d > &dq_pos)
 
Pos2d getFromPoint (void) const
 
Pos2d getToPoint (void) const
 
bool operator== (const PolyPos< Pos2d > &other) const
 
Pos2d * Agrega (const Pos2d &p)
 
void Agrega (const PolyPos< Pos2d > &p)
 
void AgregaSiNuevo (const PolyPos< Pos2d > &p)
 
void AgregaSiNuevo (const Pos2d &)
 Appends the point to the list (if not already there).
 
void extend (InputIterator first, InputIterator last)
 Append the vertices between [first,last) to thebefore end of the list. More...
 
const_iterator find (const Pos2d &p) const
 
iterator find (const Pos2d &p)
 
bool In (const Pos2d &p) const
 Return true if the points is on en la lista.
 
void close (void)
 Close the point list (insert the first point as its last one)
 
bool isClosed (const GEOM_FT &tol=1e-6) const
 True if dist(lastPoint,firstPoint)< tol*length.
 
GEOM_FT getLength (void) const
 Return the length of the PolyPos.
 
std::vector< GEOM_FT > getLengths (void) const
 Return the lengths corresponding to each vertex.
 
boost::python::list getLengthsPy (void) const
 Return the lengths corresponding to each vertex in a Python list.
 
GEOM_FT getLengthUntilVertex (const_iterator) const
 Return the length of the PolyPos until the vertex pointed by the iterator. More...
 
const_iterator getSegmentAtLength (const GEOM_FT &s) const
 Return an iterator pointing to the vertex that is just before the point at a distance "s" measured along the polyline from its origin. More...
 
int getIndexOfSegmentAtLength (const GEOM_FT &s) const
 Return the index of the segment that lies at the point at a distance "s" measured along the polyline from its origin. More...
 
int getIndexOfSegmentAtParam (const GEOM_FT &lambda) const
 Return the index of the segment that lies at the point at a distance "lambda*L" measured along the polyline from its origin. More...
 
boost::python::list getIthCoordinates (unsigned short i) const
 Return the list of values for j-th coordinate.
 
GEOM_FT GetMax (unsigned short i) const
 Return the maximum value of j-th coordinate.
 
GEOM_FT GetMin (unsigned short i) const
 Return the minimum value of j-th coordinate.
 
PolyPos GetMayores (unsigned short int i, const GEOM_FT &d) const
 
PolyPos GetMenores (unsigned short int i, const GEOM_FT &d) const
 
Pos2d getCenterOfMass (void) const
 Return the center of mass del polígono.
 
Pos2d getWeightedCenterOfMass (const std::deque< GEOM_FT > &) const
 Return the center of mass del polígono.
 
PolyPos< Pos2d > getSwap (void) const
 Return a list with the elements in reverse order.
 
void swap (void)
 
std::deque< GEOM_FT > & GetSeparaciones (void) const
 Compute the distance from each point to the nearest one.
 
GEOM_FT GetSeparacionMedia (void) const
 Return the average distance between points.
 
iterator getNearestPoint (const Pos2d &)
 Returns the nearest point from those of the list.
 
const_iterator getNearestPoint (const Pos2d &) const
 Returns the nearest point from those of the list.
 
iterator getFarthestPoint (const Pos2d &)
 Returns the farthest point from those of the list.
 
const_iterator getFarthestPoint (const Pos2d &) const
 Returns the farthest point from those of the list.
 
virtual iterator getFarthestPointFromSegment (iterator it1, iterator it2, GEOM_FT &pMaxDist)
 
void simplify (GEOM_FT epsilon, iterator it1, iterator it2)
 Douglas Peucker algorithm implementation. More...
 
void simplify (GEOM_FT epsilon)
 Douglas Peucker algorithm implementation. More...
 
PolyPos< Pos2d > getSimplified (GEOM_FT epsilon) const
 ! More...
 
void removeRepeated (const GEOM_FT &tol=0.0)
 remove repeated vertexes. More...
 
void removeBackwardSegments (const GEOM_FT &tol)
 remove backward segments. More...
 
void Cat (const PolyPos< Pos2d > &l)
 
void Cat (inputIterator begin, inputIterator end)
 Insert the objects between [first,last).
 

Additional Inherited Members

- Public Types inherited from GeomObj2d
typedef PolyPos< Pos2d > list_Pos2d
 
- Public Types inherited from GeomObj
typedef PolyPos< Pos3d > list_Pos3d
 
typedef PolyPos< Pos2d > list_Pos2d
 
- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 
- Public Types inherited from PolyPos< Pos2d >
typedef deque_pos::iterator iterator
 
typedef deque_pos::const_iterator const_iterator
 
typedef Pos2d ::vector vector
 
- Static Public Member Functions inherited from CommandEntity
static void resetStandardOutput (void)
 Reset the standard output streams to its defaults buffers.
 
- Static Public Member Functions inherited from EntityWithOwner
static int getVerbosityLevel (void)
 Get the value of the verbosity level.
 
static void setVerbosityLevel (const int &)
 Set the value of the verbosity level.
 
- Protected Types inherited from PolyPos< Pos2d >
typedef std::deque< Pos2d > deque_pos
 
- Protected Member Functions inherited from CommandEntity
template<class T >
void string_to (T &, const std::string &) const
 
- Protected Member Functions inherited from EntityWithProperties
bool isEqual (const EntityWithProperties &) const
 Return true if both objects are equal.
 
- Protected Member Functions inherited from EntityWithOwner
virtual bool isEqual (const EntityWithOwner &) const
 Return true if both objects are equal.
 
- Protected Member Functions inherited from PolyPos< Pos2d >
void simplify_select (GEOM_FT epsilon, iterator it1, iterator it2, std::set< const_iterator > &selected)
 Douglas Peucker algorithm implementation. More...
 
void remove_selected (std::set< const_iterator > &selected)
 Removes the selected items. More...
 
void select_repeated (std::set< const_iterator > &selected, const GEOM_FT &tol=0.0)
 Select repeated vertexes. More...
 
void select_backward_segments (std::set< const_iterator > &selected, const GEOM_FT &tol)
 Select backward segments. More...
 
- Static Protected Member Functions inherited from CommandEntity
static CommandEntity * entcmd_cast (boost::any &data)
 
- Static Protected Member Functions inherited from PolyPos< Pos2d >
static GEOM_FT g (GEOM_FT v1, GEOM_FT v2)
 
- Static Protected Attributes inherited from EntityWithOwner
static int verbosity = 1
 Object that owns THIS ONE. const GEOM_FT &  d) const

Return a polyline parallel to this one at the distance being passed as parameter.

If the distance is positive the new polyline will be placed on the right.

◆ Projection()

Pos2d Polyline2d::Projection ( const Pos2d &  p) const
virtual

Return the projection of the given point into the polyline.

Parameters
ppoint to be projected.

Reimplemented from GeomObj2d.

◆ split()

boost::python::list Polyline2d::split ( const Pos2d &  p) const

Return the two polylines that result from splitting this one on the point nearest to the argument.


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