xc
|
Plane polygon in a 3D space. More...
#include <Polygon3d.h>
Public Member Functions | |
template<typename InputIterator > | |
Polygon3d (InputIterator first, InputIterator last) | |
Polygon3d (const Pos3d &p1, const Pos3d &p2, const Pos3d &p3) | |
Constructor. | |
Polygon3d (const Ref2d3d &, const Polygon2d &p=Polygon2d()) | |
Constructor. | |
Polygon3d (const Ref3d3d &, const Polygon2d &p=Polygon2d()) | |
Constructor. | |
Polygon3d (const GeomObj::list_Pos3d &) | |
Constructor. | |
Polygon3d (const boost::python::list &) | |
Constructor. | |
virtual GeomObj * | getCopy (void) const |
void | push_back (const Pos3d &p) |
virtual unsigned int | getNumVertices (void) const |
virtual unsigned int | getNumEdges (void) const |
GEOM_FT | getLength (void) const |
Return the length of the object. | |
GEOM_FT | getArea (void) const |
Return the area of the object. | |
std::vector< Polygon3d > | getTributaryPolygons (void) const |
std::vector< double > | getTributaryAreas (void) const |
Pos3d | Vertice (unsigned int i) const |
Return the position of the i-th vertex. | |
Pos3d | Vertice0 (unsigned int j) const |
Return the position of the i-th vertex (0 based: j=0..getNumVertices()-1) | |
GeomObj::list_Pos3d | getVertexList (void) const |
Return a Python list containing the positions of the polygon vertices. More... | |
boost::python::list | getVertexListPy (void) const |
Return a Python list containing the positions of the polygon vertices. More... | |
Segment3d | Lado0 (unsigned int i) const |
Return the i-th side (i between 0 and num_sides-1). | |
Segment3d | Lado (unsigned int i) const |
Return the i-th edge (i between 1 and num_sides). | |
int | getIndexOfDistalEdge (const Pos3d &) const |
Return the index of the distal edge with respect to the point argument. More... | |
int | getIndexOfProximalEdge (const Pos3d &) const |
Return the proximal edge with respect to the point argument. More... | |
int | getIndexOfDistalVertex (const Pos3d &) const |
Return the distal vertex with respect to the point argument. More... | |
int | getIndexOfProximalVertex (const Pos3d &) const |
Return the proximal vertex with respect to the point argument. More... | |
bool | clockwise (const Pos3d &) const |
Return true if the point list is oriented clockwise. More... | |
bool | counterclockwise (const Pos3d &) const |
Return true if the point list is oriented counterclockwise. More... | |
void | swap (void) |
std::string | orientation (const Pos3d &) const |
Return the orientation of the polygon (clockwise or counterclockwise). More... | |
Pos3d | Projection (const Pos3d &) const |
Return the projection of the given point into the polyline. More... | |
virtual GEOM_FT | getLengthUpTo (const Pos3d &) const |
Return the length along the perimeter upto the given point. | |
GEOM_FT | getLambda (const Pos3d &p) const |
Polygon3d | offset (const GEOM_FT &d) const |
Return a polygon parallel to this one at the given distance. More... | |
Polygon3d | buffer (const GEOM_FT &d) const |
Returns the buffer (a polygon being the spatial point set collection within a specified maximum distance from this polygon) of this polygon. More... | |
Plane | getPlaneFromSide0 (unsigned int i) const |
Plane | getPlaneFromSide (unsigned int i) const |
Pos3d | getCenterOfMass (void) const |
Return the center of mass of the polygon. | |
GEOM_FT | Ix (void) const |
Moment of inertia with respect to an axis parallel to the x axis passing through the center of mass. More... | |
GEOM_FT | Iy (void) const |
Moment of inertia with respect to an axis parallel to the y axis passing through the center of mass. More... | |
GEOM_FT | Iz (void) const |
Moment of inertia with respect to an axis parallel to the z axis passing through the center of mass. More... | |
GEOM_FT | GetMax (unsigned short int i) const |
Return the maximum value of the i-th coordinate. | |
GEOM_FT | GetMin (unsigned short int i) const |
Return the minimum value of the i-th coordinate. | |
bool | In (const Pos3d &p, const double &tol) const |
Return true if the point lies inside the polygon (i. More... | |
bool | TocaCuadrante (const int &) const |
Return true if alguno de los vertices toca el cuadrante que se pasa como parĂ¡metro. More... | |
GEOM_FT | distSigno (const Pos3d &p) const |
GEOM_FT | dist (const Pos3d &p) const |
Return the distance from point to polygon. More... | |
GEOM_FT | distSigno2 (const Pos3d &p) const |
Return the squared distance from from point to polygon. More... | |
GEOM_FT | dist2 (const Pos3d &p) const |
Return the distance from point to polygon. More... | |
Segment3d | Clip (const Line3d &) const |
Return the intersection of the polygon with the line. | |
Segment3d | Clip (const Ray3d &) const |
Return the intersection of the polygon and the ray. | |
Segment3d | Clip (const Segment3d &) const |
Return the intersection of the polygon and the segment. | |
bool | intersects (const Line3d &) const |
Return true if the line intersects the polygon. | |
Segment3d | getIntersection (const Line3d &) const |
Return the intersection with the line argument. | |
bool | intersects (const Plane &) const |
Return true if the plane intersects the polygon. | |
Segment3d | getIntersection (const Plane &) const |
Return the intersection with the plane argument. | |
std::list< Polygon3d > | Corta (const Plane &p) const |
Return the polygons that result form cutting the polygon with the argument plane. More... | |
void | Print (std::ostream &os) const |
![]() | |
D2to3d (void) | |
Constructor. | |
virtual bool | operator== (const D2to3d &) const |
Comparison operator. | |
void | ThreePoints (const Pos3d &p1, const Pos3d &p2, const Pos3d &p3) |
virtual unsigned short int | Dimension (void) const |
Return the dimension of the object: 0, 1, 2 or 3. | |
Vector3d | getIVector (void) const |
Return the unary vector I expressed in global coordinates. | |
Vector3d | getJVector (void) const |
Return the unary vector J expressed in global coordinates. | |
Vector3d | getKVector (void) const |
Return the unary vector K expressed in global coordinates. | |
Pos3d | to_3d (const Pos2d &) const |
Return the 3D point corresponding to the 2D point argument. | |
Vector3d | to_3d (const Vector2d &) const |
Return the 3D vector corresponding to the 2D vector argument. | |
Line3d | to_3d (const Line2d &) const |
Return the 3D line corresponding to the 2D line argument. | |
Ray3d | to_3d (const Ray2d &) const |
Return the 3D ray corresponding to the 2D ray argument. | |
Segment3d | to_3d (const Segment2d &) const |
Return the 3D segment corresponding to the 2D segment argument. | |
Pos3dArray | to_3d (const Pos2dArray &) const |
Pos2d | to_2d (const Pos3d &) const |
Return the 2D point corresponding to the 3D point argument. | |
Vector2d | to_2d (const Vector3d &) const |
Return the 2D vector corresponding to the 3D vector argument. | |
Line2d | to_2d (const Line3d &) const |
Return the 2D line corresponding to the 3D line argument. | |
Ray2d | to_2d (const Ray3d &) const |
Return the 2D ray corresponding to the 3D ray argument. | |
Segment2d | to_2d (const Segment3d &) const |
Return the 2D segment corresponding to the 3D segment argument. | |
const Ref2d3d & | getRef (void) const |
Plane | getPlane (void) const |
![]() | |
GEOM_FT | getPerimeter (void) const |
virtual GEOM_FT | getVolume (void) const |
Return the volume of the object. | |
virtual GEOM_FT | IArea (void) const |
![]() | |
GEOM_FT | GetXMax (void) const |
GEOM_FT | GetYMax (void) const |
GEOM_FT | GetZMax (void) const |
GEOM_FT | GetXMin (void) const |
GEOM_FT | GetYMin (void) const |
GEOM_FT | GetZMin (void) const |
virtual void | XProjection (void) |
virtual void | YProjection (void) |
virtual void | ZProjection (void) |
virtual Vector3d | Projection (const Vector3d &) const |
Return the projection onto the line. More... | |
Pos3d | getPMax (void) const |
Pos3d | getPMin (void) const |
BND3d | Bnd (void) const |
Return the boundary of the object. | |
virtual bool | Out (const Pos3d &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 | Pxy (void) const |
virtual GEOM_FT | Pxz (void) const |
virtual GEOM_FT | Pyz (void) const |
GEOM_FT | I (const unsigned short int &i, const unsigned short int &j) const |
GEOM_FT | I (const Pos3d &O, const Vector3d &e) const |
Return el moment of inertia with respect to the axis that passes through O with the direction of e. More... | |
GEOM_FT | I (const Line3d &r) const |
Return el moment of inertia with respect to the argument line. | |
GEOM_FT | I (const unsigned short int i, const unsigned short int j, const Pos3d &o) const |
Return el moment of inertia (i,j) respect to the axis parallel to i through o. More... | |
GEOM_FT | IO (const Pos3d &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. More... | |
FT_matrix | I (const Pos3d &o) const |
Return the inertia tensor with respect to the point o. | |
![]() | |
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 |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
typedef PolyPos< Pos3d > | list_Pos3d |
![]() | |
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. | |
![]() | |
D2to3d (const Ref2d3d &) | |
Constructor. | |
D2to3d (const Ref3d3d &) | |
Constructor. | |
D2to3d (const Pos3d &o) | |
Constructor. | |
D2to3d (const Pos3d &o, const Pos3d &p, const Pos3d &q) | |
Constructor. | |
D2to3d (const Pos3d &o, const Vector3d &n, const Vector3d &i) | |
Constructor. | |
![]() | |
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. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Plane polygon in a 3D space.
Polygon3d Polygon3d::buffer | ( | const GEOM_FT & | buffer_distance | ) | const |
Returns the buffer (a polygon being the spatial point set collection within a specified maximum distance from this polygon) of this polygon.
bool Polygon3d::clockwise | ( | const Pos3d & | vPoint | ) | const |
Return true if the point list is oriented clockwise.
vPoint | position of the point of view. |
Return the polygons that result form cutting the polygon with the argument plane.
bool Polygon3d::counterclockwise | ( | const Pos3d & | vPoint | ) | const |
Return true if the point list is oriented counterclockwise.
vPoint | position of the point of view. |
|
virtual |
Return the distance from point to polygon.
This distance is computed as the maximum of the signed distances from the point to each of the planes that contain a side and are perpendicular to the plane that contains the polygon. In the point is inside the polygon 0 is returned.
Reimplemented from Surface3d.
Reimplemented in Triangle3d.
|
virtual |
Return the distance from point to polygon.
Distance is computed as the maximum of the distances (signed) from the point to each of the planes that contain a side and are normal to the plane that contains the polygon. If the point is inside the polygon 0 is returned.
Reimplemented from Surface3d.
Reimplemented in Triangle3d.
GEOM_FT Polygon3d::distSigno2 | ( | const Pos3d & | p | ) | const |
Return the squared distance from from point to polygon.
The distance is computed as the maximum of: -The distance from the point to the plane that contains the polygon. -The signed distances from the point to each of the half spaces defined by the plane that contains the polygon.
int Polygon3d::getIndexOfDistalEdge | ( | const Pos3d & | p | ) | const |
Return the index of the distal edge with respect to the point argument.
p | 2D point. |
int Polygon3d::getIndexOfDistalVertex | ( | const Pos3d & | p | ) | const |
Return the distal vertex with respect to the point argument.
p | 2D point. |
int Polygon3d::getIndexOfProximalEdge | ( | const Pos3d & | p | ) | const |
Return the proximal edge with respect to the point argument.
p | 2D point. |
int Polygon3d::getIndexOfProximalVertex | ( | const Pos3d & | p | ) | const |
Return the proximal vertex with respect to the point argument.
p | 2D point. |
GeomObj::list_Pos3d Polygon3d::getVertexList | ( | void | ) | const |
Return a Python list containing the positions of the polygon vertices.
boost::python::list Polygon3d::getVertexListPy | ( | void | ) | const |
Return a Python list containing the positions of the polygon vertices.
|
virtual |
Return true if the point lies inside the polygon (i.
e. the distance from the point to the polygon is less than the tolerance argument).
Reimplemented from GeomObj3d.
|
virtual |
Moment of inertia with respect to an axis parallel to the x axis passing through the center of mass.
Implements GeomObj3d.
|
virtual |
Moment of inertia with respect to an axis parallel to the y axis passing through the center of mass.
Implements GeomObj3d.
|
virtual |
Moment of inertia with respect to an axis parallel to the z axis passing through the center of mass.
Implements GeomObj3d.
Polygon3d Polygon3d::offset | ( | const GEOM_FT & | d | ) | const |
Return a polygon parallel to this one at the given distance.
The new polygon will be exterior if the distance is positive.
std::string Polygon3d::orientation | ( | const Pos3d & | vPoint | ) | const |
Return the orientation of the polygon (clockwise or counterclockwise).
Return the projection of the given point into the polyline.
p | point to be projected. |
Reimplemented from GeomObj3d.
bool Polygon3d::TocaCuadrante | ( | const int & | cuadrante | ) | const |
Return true if alguno de los vertices toca el cuadrante que se pasa como parĂ¡metro.