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

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

#include <Segment2d.h>

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

Public Member Functions

 Segment2d (const CGSegment_2 &r)
 
 Segment2d (const Pos2d &p1, const Pos2d &p2)
 Constructor.
 
virtual bool operator== (const Segment2d &) const
 Comparison operator.
 
const CGSegment_2 & ToCGAL (void) const
 
virtual GeomObjgetCopy (void) const
 
void swap (void)
 @ brief Swaps the ray orientation.
 
void TwoPoints (const Pos2d &p1, const Pos2d &p2)
 
virtual GEOM_FT GetMax (unsigned short int i) const
 Return the maximum value of the i-th coordinate.
 
virtual GEOM_FT GetMin (unsigned short int i) const
 Return the minimum value of the i-th coordinate.
 
Line2d getSupportLine (void) const
 
Pos2d getFromPoint (void) const
 
Pos2d getToPoint (void) const
 
GEOM_FT getSlope (void) const
 Return the angle or the line with respect to XY plane.
 
bool upwards (void) const
 Return true if the segment goes up.
 
bool downwards (void) const
 Return true if the segment goes down.
 
const Pos2d Point (const int &i) const
 
Pos2d PtoParametricas (const GEOM_FT &) const
 Return a point of the segment at a distance lambda from its origin.
 
Pos2d getMidPoint (void) const
 Return the mid point of the segment.
 
double getParamNaturalCoord (const GEOM_FT &) const
 Return the parametric coordinate that corresponds to the natural coordinate argument. More...
 
Pos2d getPointNaturalCoord (const GEOM_FT &) const
 Return the point of the segment with the natural coordinate being passed as parameter. More...
 
bool EsVertical (void) const
 
bool isDegenerated (void) const
 
virtual bool In (const Pos2d &, const double &tol=0.0) const
 Return true if the point is on the segment.
 
virtual GEOM_FT dist2 (const Pos2d &p) const
 Return the squared distance to the segment.
 
GEOM_FT dist (const Pos2d &p) const
 Return the distance from the point to the segment.
 
void Put (const Pos2d &p1, const Pos2d &p2)
 Set the points that define the segment.
 
GeomObj::list_Pos2d Ordena (const GeomObj::list_Pos2d &ptos) const
 Returns the points ordered by the value of the parameter of its projection onto the line from lowest to highest. More...
 
Segment2d offset (const Vector2d &v) const
 Return the a copy of the segment translated along the vector argument. More...
 
Segment2d offset (const GEOM_FT &d) const
 Return a segment parallel to this one at the distance argument. More...
 
Polygon2d getBufferPolygon (const GEOM_FT &d, const size_t &numVertices=8) const
 Return a buffer polygon around the segment. More...
 
bool intersects (const Segment2d &r2) const
 
bool intersects (const Line2d &r) const
 
bool intersects (const Ray2d &sr) const
 
GeomObj2d::list_Pos2d getIntersection (unsigned short int, const double &) const
 Return the intersection of the line with a plane defined by the equation coord_i=cte. More...
 
GeomObj2d::list_Pos2d getIntersection (const Line2d &r) const
 Return the intersection point of the line and the segment, if the intersection doesn't exists returns an empty list. More...
 
GeomObj2d::list_Pos2d getIntersection (const Ray2d &sr) const
 Return the intersection of the segment and the ray, if it doesn't exists return an empty list. More...
 
GeomObj2d::list_Pos2d getIntersection (const Segment2d &sg2) const
 Return the intersection of the segments, if the intersection doesn't exists returns an empty list. More...
 
bool connected (const Pos2d &, const GEOM_FT &tol=0.0) const
 Return true if the segment is connected to the argument point (i. More...
 
Pos2d Projection (const Pos2d &) const
 Return the orthogonal projection onto the line. More...
 
Vector2d Projection (const Vector2d &) const
 Return the projection onto the line. More...
 
Line2d Perpendicular (const Pos2d &p) const
 Return the line perpendicular to the segment through p.
 
Line2d isParallel (const Pos2d &v) const
 Return the line parallel to the segment through p.
 
Line2d getPerpendicularBisector (void) const
 Return the perpendicular_bisector of the segment.
 
bool isParallel (const Line2d &r) const
 
bool isParallel (const Ray2d &sr) const
 
bool isParallel (const Segment2d &r) const
 
virtual GEOM_FT getLength (void) const
 Return object length.
 
virtual Pos2d getCenterOfMass (void) const
 Return the position of the center of mass of the segment.
 
Dir2d GetDir (void) const
 Return the direction of the segment.
 
Vector2d VDir (void) const
 Return the direction vector of the segment.
 
Vector2d Normal (void) const
 Return the direction vector of the segment.
 
Vector2d GetVector (void) const
 Return the vector from origin to the segment end point.
 
virtual Vector2d getIVector (void) const
 Returns a vector in the direction of the local X axis. More...
 
virtual Vector2d getJVector (void) const
 Returns a vector in the direction of the local Y axis. More...
 
GEOM_FT getAngle (const Vector2d &v) const
 Return the angle of the segment with the vector (0->2PI).
 
GEOM_FT getSignedAngle (const Vector2d &v) const
 Return the angle of the segment with the vector (-PI->0->PI).
 
GEOM_FT getAngle (const Line2d &r) const
 Returns the angle with the line argument.
 
GEOM_FT getAngle (const Ray2d &sr) const
 Returns the angle with the ray argument.
 
GEOM_FT getAngle (const Segment2d &v) const
 Return the angle of the segment with the vector (0->2PI).
 
GEOM_FT getSignedAngle (const Segment2d &v) const
 Return the angle of the segment with the vector (-PI->0->PI).
 
GEOM_FT XAxisAngle (void) const
 Return the angle of the segment con el X axis.
 
GEOM_FT YAxisAngle (void) const
 Return the angle of the segment con el Y axis.
 
GEOM_FT Azimuth (void) const
 
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 Pxy (void) const
 Product of inertia.
 
virtual GEOM_FT Iz (void) const
 Moment of inertia with respect to the center of mass en local axis.
 
VectorPos2d Divide (int num_partes) const
 Return the points that results from the segment division. More...
 
boost::python::list DividePy (int num_partes) const
 Return a Python list containing the points that results from the segment division. More...
 
VectorPos2d Divide (const std::vector< double > &) const
 Return the points that divide the segments 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 segment division. More...
 
boost::python::list split (const Pos2d &) const
 Return the two segments that result from splitting this one on the point nearest to the argument. More...
 
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 Transform (const Trf2d &trf2d)
 Applies to the segment the transformation argument.
 
void Print (std::ostream &os) 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.
 
virtual GEOM_FT getLambda (const Pos2d &) const
 Return the lambda parameter for the given point: p= getFromPoint()+lambda*VDir()
 
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
 
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...
 
virtual void Plot (Plotter &) const
 
- 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
 

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
 
- 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 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.
 
- Static Protected Member Functions inherited from CommandEntity
static CommandEntityentcmd_cast (boost::any &data)
 
- Static Protected Attributes inherited from EntityWithOwner
static int verbosity = 1
 Object that owns THIS ONE. More...
 

Detailed Description

Segment in a two-dimensional space.

Member Function Documentation

◆ connected()

bool Segment2d::connected ( const Pos2d p,
const GEOM_FT &  tol = 0.0 
) const

Return true if the segment is connected to the argument point (i.

e.) the distance to one of its ends is less or equal than the tolerance.

Parameters
ppoint
toltolerance

◆ Divide() [1/2]

VectorPos2d Segment2d::Divide ( int  num_partes) const

Return the points that results from the segment division.

Parameters
num_partesnumber of segments.

◆ Divide() [2/2]

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

Return the points that divide the segments 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 Segment2d::DividePy ( int  num_partes) const

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

Parameters
num_partesnumber of segments.

◆ DividePy() [2/2]

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

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

Parameters
num_partesnumber of segments.

◆ getBufferPolygon()

Polygon2d Segment2d::getBufferPolygon ( const GEOM_FT &  d,
const size_t &  numVertices = 8 
) const

Return a buffer polygon around the segment.

Return a 2D polygon with boundaries that buffer this segment by a distance d.

Parameters
ddistance around the segment.
nnumber of vertex of the buffers around the endpoints.

◆ getIntersection() [1/4]

GeomObj2d::list_Pos2d Segment2d::getIntersection ( unsigned short int  i,
const double &  d 
) const

Return the intersection of the line with a plane defined by the equation coord_i=cte.

◆ getIntersection() [2/4]

GeomObj2d::list_Pos2d Segment2d::getIntersection ( const Line2d r) const

Return the intersection point of the line and the segment, if the intersection doesn't exists returns an empty list.

◆ getIntersection() [3/4]

GeomObj2d::list_Pos2d Segment2d::getIntersection ( const Ray2d sr) const

Return the intersection of the segment and the ray, if it doesn't exists return an empty list.

◆ getIntersection() [4/4]

GeomObj2d::list_Pos2d Segment2d::getIntersection ( const Segment2d sg2) const

Return the intersection of the segments, if the intersection doesn't exists returns an empty list.

◆ getIVector()

Vector2d Segment2d::getIVector ( void  ) const
virtual

Returns a vector in the direction of the local X axis.

◆ getJVector()

Vector2d Segment2d::getJVector ( void  ) const
virtual

Returns a vector in the direction of the local Y axis.

◆ getParamNaturalCoord()

double Segment2d::getParamNaturalCoord ( const GEOM_FT &  chi) const

Return the parametric coordinate that corresponds to the natural coordinate argument.

◆ getPointNaturalCoord()

Pos2d Segment2d::getPointNaturalCoord ( const GEOM_FT &  chi) const

Return the point of the segment with the natural coordinate being passed as parameter.

◆ offset() [1/2]

Segment2d Segment2d::offset ( const Vector2d v) const

Return the a copy of the segment translated along the vector argument.

◆ offset() [2/2]

Segment2d Segment2d::offset ( const GEOM_FT &  d) const

Return a segment parallel to this one at the distance argument.

If the distance is poisitive the new segment will be on the right from this one.

◆ Ordena()

GeomObj::list_Pos2d Segment2d::Ordena ( const GeomObj::list_Pos2d ptos) const
inline

Returns the points ordered by the value of the parameter of its projection onto the line from lowest to highest.

Origin is at Line2d::Point(0).

◆ Projection() [1/2]

Pos2d Segment2d::Projection ( const Pos2d p) const
virtual

Return the orthogonal projection onto the line.

Parameters
ppoint to project.

Reimplemented from GeomObj2d.

◆ Projection() [2/2]

Vector2d Segment2d::Projection ( const Vector2d v) const
virtual

Return the projection onto the line.

Parameters
vvector to project.

Reimplemented from GeomObj2d.

◆ split()

boost::python::list Segment2d::split ( const Pos2d p) const

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


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