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 GeomObjgetCopy (void) const
 
const GeomObj::list_Pos2dgetVertices (void) const
 Return the list of the vertices.
 
const GeomObj::list_Pos2dgetVertexList (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 Pos2dappendVertex (const Pos2d &)
 Append a vertex to the polyline.
 
const Pos2dappendVertexLeft (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.
 
virtual GEOM_FT Iy (void) const
 Moment of inertia with respect to the center of mass en local axis.
 
virtual GEOM_FT Iz (void) const
 Moment of inertia polar with respect to the center of mass en local axis.
 
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< Vector2dgetCurvatureVectorAtVertices (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...
 
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 Pos2dVertice (const size_t &) const
 Return the i-th vertex (the first one has the index 1).
 
const Pos2dVertice0 (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< Segment2dgetSegments (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< Polyline2dclip (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...
 
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.
 
PrincipalAxesOfInertia2D 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.
 
CommandEntityOwner (void)
 Return a pointer to the object owner.
 
const CommandEntityOwner (void) const
 Return un puntero al objeto propietario de ESTE.
 
const StandardOutputWrappergetStandardOutputWrapper (void) const
 Return the regular output stream wrapper.
 
StandardOutputWrappergetStandardOutputWrapper (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.
 
EntityWithOwneroperator= (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.
 
EntityWithOwnerOwner (void)
 
const EntityWithOwnerOwner (void) const
 
- Public Member Functions inherited from PolyPos< pos >
 PolyPos (const std::deque< pos > &dq_pos)
 
pos getFromPoint (void) const
 
pos getToPoint (void) const
 
bool operator== (const PolyPos< pos > &other) const
 
pos * Agrega (const pos &p)
 
void Agrega (const PolyPos< pos > &p)
 
void AgregaSiNuevo (const PolyPos< pos > &p)
 
template<class InputIterator >
void extend (InputIterator first, InputIterator last)
 Append the vertices between [first,last) to thebefore end of the list. More...
 
void AgregaSiNuevo (const pos &)
 Appends the point to the list (if not already there).
 
const_iterator find (const pos &p) const
 
iterator find (const pos &p)
 
bool In (const pos &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
 
pos getCenterOfMass (void) const
 Return the center of mass del polígono.
 
pos getWeightedCenterOfMass (const std::deque< GEOM_FT > &) const
 Return the center of mass del polígono.
 
PolyPos< pos > 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 pos &)
 Returns the nearest point from those of the list.
 
const_iterator getNearestPoint (const pos &) const
 Returns the nearest point from those of the list.
 
iterator getFarthestPoint (const pos &)
 Returns the farthest point from those of the list.
 
const_iterator getFarthestPoint (const pos &) const
 Returns the farthest point from those of the list.
 
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< pos > 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< pos > &l)
 
template<class inputIterator >
void Cat (inputIterator begin, inputIterator end)
 Insert the objects between [first,last).
 

Additional Inherited Members

- Public Types inherited from GeomObj2d
typedef PolyPos< Pos2dlist_Pos2d
 
- Public Types inherited from GeomObj
typedef PolyPos< Pos3dlist_Pos3d
 
typedef PolyPos< Pos2dlist_Pos2d
 
- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 
- Public Types inherited from PolyPos< pos >
typedef deque_pos::iterator iterator
 
typedef deque_pos::const_iterator const_iterator
 
typedef pos::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< pos >
typedef std::deque< pos > 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< pos >
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 CommandEntityentcmd_cast (boost::any &data)
 
- Static Protected Member Functions inherited from PolyPos< pos >
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. More...
 

Detailed Description

Polyline in a two-dimensional space.

Member Function Documentation

◆ clip()

std::deque< Polyline2d > Polyline2d::clip ( const HalfPlane2d hp,
const GEOM_FT &  tol = 0.0 
) const

Return the polyline chunks that result from clippin this polyline with the given half space.

◆ Divide() [1/2]

VectorPos2d Polyline2d::Divide ( int  num_partes) const

Return the points that results from the division of the polyline.

Parameters
num_partesnumber of segments.

◆ Divide() [2/2]

VectorPos2d Polyline2d::Divide ( const std::vector< double > &  proportions) const

Return the points that divide the polyline in the proportions being passed as parameter.

Parameters
proportionslist of float numbers that contain the unitary length of the desired intervals (i.e. [1] for one interval only with the full length of the segment, [0.5,0.5] for two intervals with half the length of the segment, [0.25, 75] for two intervals with a quarter and three quarters of the segment...

◆ DividePy() [1/2]

boost::python::list Polyline2d::DividePy ( int  num_partes) const

Return a Python list containing the points that results from the division of the polyline.

Parameters
num_partesnumber of segments.

◆ DividePy() [2/2]

boost::python::list Polyline2d::DividePy ( const boost::python::list &  proportions) const

Return a Python list containing the points that results from the division of the polyline.

Parameters
num_partesnumber of segments.

◆ getBufferPolygon()

Polygon2d Polyline2d::getBufferPolygon ( const GEOM_FT &  d, ( 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: