xc
|
Base class for the polygonal surfaces. More...
#include <PolygonalSurface2d.h>
Public Member Functions | |
virtual GeomObj * | getCopy (void) const =0 |
virtual unsigned int | getNumVertices (void) const |
virtual unsigned int | getNumEdges (void) const |
bool | empty (void) const |
virtual Pos2d | Vertice (unsigned int i) const =0 |
virtual Pos2d | Vertice0 (unsigned int j) const =0 |
const Pos2d | operator() (const size_t &i) const |
const Pos2d | operator[] (const size_t &j) const |
Segment2d | Lado (unsigned int i) const |
Return the i-th edge (i between 1 and num_sides). | |
Segment2d | Lado0 (unsigned int i) const |
Return the i-th side (i between 0 and num_sides-1). | |
int | getNearestEdgeIndex (const Pos2d &) const |
Return the nearest edge to the given point. More... | |
Segment2d | getNearestEdge (const Pos2d &) const |
Return the nearest edge to the given point. More... | |
Pos2d | Projection (const Pos2d &) const |
Return the projection of the given point into the polyline. More... | |
GeomObj::list_Pos2d | getVertices (void) const |
Return los vertices of the polygon. | |
Vector2d | getLado0Normal (const size_t i) const |
Return la normal al lado of the polygon. | |
Vector2d | getVertex0Normal (const size_t i) const |
Return la normal en el vértice of the polygon. | |
int | getIndexOfDistalEdge (const Pos2d &) const |
Return the distal edge with respect to the point argument. More... | |
int | getIndexOfProximalEdge (const Pos2d &) const |
Return the proximal edge with respect to the point argument. More... | |
int | getIndexOfDistalVertex (const Pos2d &) const |
Return the distal vertex with respect to the point argument. More... | |
int | getIndexOfProximalVertex (const Pos2d &) const |
Return the proximal vertex with respect to the point argument. More... | |
Polyline2d | getPolyline (void) const |
Return the closed polyline formed with the vertices of the polygon. More... | |
virtual GEOM_FT | getLength (void) const |
Return the perimeter of the surface. | |
GEOM_FT | getPerimeter (void) const |
virtual GEOM_FT | getLengthUpTo (const Pos2d &) const |
Return the length along the perimeter upto the given point. | |
GEOM_FT | getLambda (const Pos2d &p) const |
GEOM_FT | AreaSigno (void) const |
virtual GEOM_FT | getArea (void) const |
Return the object area. | |
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. | |
virtual Pos2d | getCenterOfMass (void) const |
Return the center of mass. | |
virtual Pos2d | Centroide (void) const |
Return the centroid (point interior to the polygon). More... | |
GEOM_FT | getMoment (const int &p, const int &q) const |
virtual GEOM_FT | Ix (void) const |
Calcula el moment of inertia with respect to an axis parallel to the x axis que pasa por the center of mass of the surface. More... | |
virtual GEOM_FT | Iy (void) const |
Calcula el moment of inertia with respect to an axis parallel to the y axis that passes through the polygon centroid. More... | |
virtual GEOM_FT | Pxy (void) const |
Calcula el product of inertia with respect to the axis parallel to the axis x and y with origin in the polygon centroid. More... | |
GeomObj::list_Pos2d | getApproxTangentPositions (const Vector2d &) const |
Return the points for which the polygon is almost tangent to the direction argument. More... | |
GEOM_FT | DistSigno (const Pos2d &p, const bool &clockwise=false) const |
Return the distance from the point to the perímeter The distance is computed as the maximum of: -The signed distances from the point to each of the half-planes that contain a side. More... | |
GEOM_FT | Dist (const Pos2d &p) const |
Return the distance from the point to the polygon. More... | |
GEOM_FT | getCover (const Pos2d &) const |
Return the distance from the point to the nearest edge. | |
GEOM_FT | getCover (const Pos2d &, const Vector2d &) const |
Return the distance from the point to the nearest of the intersections of the ray defined by the point and the vector with the nearest edge. More... | |
bool | Overlap (const Line2d &r) const |
Return true if the line and the polygonal surface overlap. | |
bool | Overlap (const Ray2d &sr) const |
Return true if the ray and the polygonal surface overlap. | |
Segment2d | Clip (const Line2d &) const |
Return the intersection of the polygon with the line (if exists). | |
Segment2d | Clip (const Ray2d &) const |
Return the intersection of the polygon with the ray (if it exists). | |
Segment2d | Clip (const Segment2d &) const |
Return the intersection of the polygon with the segment argument (if exists). More... | |
void | Print (std::ostream &os) const |
void | Plot (Plotter &plotter) const |
![]() | |
virtual unsigned short int | Dimension (void) const |
Return the dimension of the object 0, 1, 2 or 3. | |
GEOM_FT | getPerimeter (void) const |
Return the object perimeter. | |
virtual GEOM_FT | getVolume (void) const |
Return the object volume. | |
virtual GEOM_FT | IArea (void) const |
virtual bool | In (const Pos2d &p, const double &tol=0.0) const =0 |
Return true if the point lies inside the object. | |
![]() | |
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... | |
virtual GEOM_FT | Iz (void) const |
Moment of inertia polar with respect to the center of mass en local axis. | |
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... | |
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. | |
virtual void | Transform (const Trf2d &trf2d)=0 |
![]() | |
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... | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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 |
Protected Member Functions | |
Segment2d | Lado0 (unsigned int i, unsigned int j) const |
Return the segments between vertices i and j (0->n). | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
Additional Inherited Members | |
![]() | |
typedef PolyPos< Pos2d > | list_Pos2d |
![]() | |
typedef PolyPos< Pos3d > | list_Pos3d |
typedef PolyPos< Pos2d > | list_Pos2d |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Base class for the polygonal surfaces.
|
virtual |
Return the centroid (point interior to the polygon).
Return the centroid (point interior to the polygon). See the book Sistemas de Información Geográfica de Joaquín Bosque Sendra (Ed. Rialp ).
Return the intersection of the polygon with the segment argument (if exists).
GEOM_FT PolygonalSurface2d::Dist | ( | const Pos2d & | p | ) | const |
Return the distance from the point to the polygon.
The distance is computed as the maximim of: -The signed distances from the point to each of the planes that contain one of the sides and are perpendicular to the surface. If the point is inside the surface 0 is returned.
GEOM_FT PolygonalSurface2d::DistSigno | ( | const Pos2d & | p, |
const bool & | clockwise = false |
||
) | const |
Return the distance from the point to the perímeter The distance is computed as the maximum of: -The signed distances from the point to each of the half-planes that contain a side.
GeomObj::list_Pos2d PolygonalSurface2d::getApproxTangentPositions | ( | const Vector2d & | v | ) | const |
Return the points for which the polygon is almost tangent to the direction argument.
Return the distance from the point to the nearest of the intersections of the ray defined by the point and the vector with the nearest edge.
int PolygonalSurface2d::getIndexOfDistalEdge | ( | const Pos2d & | p | ) | const |
Return the distal edge with respect to the point argument.
p: 2D point.
int PolygonalSurface2d::getIndexOfDistalVertex | ( | const Pos2d & | p | ) | const |
Return the distal vertex with respect to the point argument.
p | 2D point. |
int PolygonalSurface2d::getIndexOfProximalEdge | ( | const Pos2d & | p | ) | const |
Return the proximal edge with respect to the point argument.
p | 2D point. |
int PolygonalSurface2d::getIndexOfProximalVertex | ( | const Pos2d & | p | ) | const |
Return the proximal vertex with respect to the point argument.
p | 2D point. |
Return the nearest edge to the given point.
int PolygonalSurface2d::getNearestEdgeIndex | ( | const Pos2d & | p | ) | const |
Return the nearest edge to the given point.
Polyline2d PolygonalSurface2d::getPolyline | ( | void | ) | const |
Return the closed polyline formed with the vertices of the polygon.
|
virtual |
Calcula el moment of inertia with respect to an axis parallel to the x axis que pasa por the center of mass of the surface.
Ix = Integral y^2 dA
Implements GeomObj2d.
|
virtual |
Calcula el moment of inertia with respect to an axis parallel to the y axis that passes through the polygon centroid.
Iy = Integral x^2 dA
Implements GeomObj2d.
Return the projection of the given point into the polyline.
p | point to be projected. |
Reimplemented from GeomObj2d.
|
virtual |
Calcula el product of inertia with respect to the axis parallel to the axis x and y with origin in the polygon centroid.
Pxy = Integral x*y dA
Implements GeomObj2d.