29 #include "../pos_vec/Pos3d.h" 35 typedef std::pair<int,int> int_pair;
36 typedef std::deque<int_pair> int_pair_deque;
50 const CGSegment_3 &ToCGAL(
void)
const 54 void TwoPoints(
const Pos3d &p1,
const Pos3d &p2);
55 virtual GEOM_FT
GetMax(
unsigned short int i)
const;
56 virtual GEOM_FT
GetMin(
unsigned short int i)
const;
57 Line3d getSupportLine(
void)
const;
58 Pos3d getFromPoint(
void)
const;
59 Pos3d getToPoint(
void)
const;
63 const Pos3d Point(
const int &i)
const;
69 bool isDegenerated(
void)
const;
70 virtual bool In(
const Pos3d &p,
const double &tol= 0.0)
const;
75 bool isParallel(
const Line3d &r)
const;
76 bool isParallel(
const Ray3d &sr)
const;
77 bool isParallel(
const Segment3d &r)
const;
89 virtual Pos3d getCenterOfMass(
void)
const;
90 Dir3d GetDir(
void)
const;
100 virtual GEOM_FT
Ix(
void)
const;
101 virtual GEOM_FT
Iy(
void)
const;
102 virtual GEOM_FT
Iz(
void)
const;
105 boost::python::list
DividePy(
int num_partes)
const;
107 boost::python::list
DividePy(
const boost::python::list &)
const;
108 boost::python::list
split(
const Pos3d &)
const;
110 boost::python::dict
getPyDict(
void)
const;
111 void setPyDict(
const boost::python::dict &);
113 void Print(std::ostream &os)
const;
117 {
return r.
dist2(p); }
119 {
return dist2(p,r); }
122 {
return dist(p,r); }
125 {
return sg.isParallel(r); }
127 {
return parallel(sg,r); }
129 {
return sg.isParallel(sr); }
131 {
return parallel(sg,sr); }
133 {
return r1.isParallel(r2); }
136 {
return colineales(sg.getSupportLine(),r); }
138 {
return colineales(sg,r); }
140 {
return colineales(sg.getSupportLine(),sr); }
142 {
return colineales(sg,sr); }
144 {
return colineales(sg1,sg2.getSupportLine()); }
157 int_pair_deque getIntersections(
const std::deque<Segment3d> &);
159 std::list<Polyline3d> get_polylines(
const std::list<Segment3d> &,
const GEOM_FT &tol);
160 boost::python::list py_get_3d_polylines(
const boost::python::list &,
const GEOM_FT &tol);
Pos3d getPointNaturalCoord(const GEOM_FT &chi) const
Return the parametric coordinate that corresponds to the natural coordinate being passed as parameter...
Definition: Segment3d.cc:120
Pos3d Projection(const Pos3d &) const
Return the orthogonal projection onto the line.
Definition: Segment3d.cc:327
virtual GEOM_FT dist2(const Pos3d &p) const
Return the squared distance from the point to the segment.
Definition: Segment3d.cc:167
bool upwards(void) const
Return true if the segment goes up.
Definition: Segment3d.cc:95
GEOM_FT getAngle(const Vector3d &v) const
Returns the angle with the vector argument.
Definition: Segment3d.cc:346
virtual Vector3d getJVector(void) const
Returns a vector in the direction of the local Y axis.
Definition: Segment3d.cc:149
Segment en tres dimensiones.
Definition: Segment3d.h:41
virtual GeomObj * getCopy(void) const
Virtual constructor.
Definition: Segment3d.cc:72
Base class for position lists.
Definition: PolyPos.h:35
virtual GEOM_FT GetMin(unsigned short int i) const
Return the minimum value of the i-th coordinate.
Definition: Segment3d.cc:81
virtual GEOM_FT getLength(void) const
Return the length of the segment.
Definition: Segment3d.cc:198
Polyline in a three-dimensional space.
Definition: Polyline3d.h:37
bool connected(const Pos3d &, const GEOM_FT &tol=0.0) const
Return true if the segment is connected to the argument point (i.
Definition: Segment3d.cc:312
boost::python::dict getPyDict(void) const
Return a Python dictionary with the object members values.
Definition: Segment3d.cc:466
void swap(void)
@ brief Swaps the segment orientation.
Definition: Segment3d.cc:76
boost::python::list DividePy(int num_partes) const
Return a Python list containing the points that results from the segment division.
Definition: Segment3d.cc:386
Pos3d getMidPoint(void) const
Return the mid point of the segment.
Definition: Segment3d.cc:110
Ray in a three-dimensional space.
Definition: Ray3d.h:36
Base class for the objects involving a single dimension in a three-dimensional space.
Definition: Linear3d.h:33
virtual bool In(const Pos3d &p, const double &tol=0.0) const
Return true if the point is in the segment.
Definition: Segment3d.cc:126
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary.
Definition: Segment3d.cc:475
GEOM_FT getSlope(void) const
Return the angle or the line with respect to XY plane.
Definition: Segment3d.cc:91
virtual Vector3d getIVector(void) const
Returns a vector in the direction of the local X axis.
Definition: Segment3d.cc:144
boost::python::list split(const Pos3d &) const
Return the two segments that result from splitting this one on the point nearest to the argument...
Definition: Segment3d.cc:445
virtual GEOM_FT GetMax(unsigned short int i) const
Return the maximum value of the i-th coordinate.
Definition: Segment3d.cc:79
Dirección en el espacio de tres dimensiones.
Definition: Dir3d.h:35
Segment3d(void)
Constructor.
Definition: Segment3d.cc:38
void Put(const Pos3d &p1, const Pos3d &p2)
Set the extremities of the segment.
Definition: Segment3d.cc:139
Pos3d PtoParametricas(const GEOM_FT &lambda) const
Return a point of the line at a distance lambda from its origin.
Definition: Segment3d.cc:106
bool downwards(void) const
Return true if the segment goes down.
Definition: Segment3d.cc:99
Posición en tres dimensiones.
Definition: Pos3d.h:44
VectorPos3d Divide(int num_partes) const
Return the points that results from the segment division.
Definition: Segment3d.cc:379
virtual GEOM_FT Iz(void) const
Moment of inertia with respect to the center of mass in local coordinates.
Definition: Segment3d.cc:373
virtual GEOM_FT Iy(void) const
Moment of inertia with respect to the center of mass in local coordinates.
Definition: Segment3d.cc:369
Line in a three-dimensional space.
Definition: Line3d.h:62
GEOM_FT getLambda(const Pos3d &p) const
Return the lambda parameter for the given point: p= getFromPoint()+lambda*VDir()
Definition: Segment3d.cc:159
virtual bool operator==(const Segment3d &) const
Comparison operator.
Definition: Segment3d.cc:57
virtual Vector3d getKVector(void) const
Returns a vector in the direction of the local Z axis.
Definition: Segment3d.cc:154
Vector de posiciones en tres dimensiones [(x1,y1,z1),(x1,y2,z2),...].
Definition: VectorPos3d.h:32
Clase base para las entidades geométricas.
Definition: GeomObj.h:40
GEOM_FT dist(const Pos3d &p) const
Return the distance from the point to the segment.
Definition: Segment3d.cc:187
double getParamNaturalCoord(const GEOM_FT &) const
Return the parametric coordinate that corresponds to the natural coordinate being passed as parameter...
Definition: Segment3d.cc:115
GeomObj3d::list_Pos3d getIntersection(unsigned short int, const double &) const
Return the intersection of the line with the plane defined by the equation coord_i=cte.
Definition: Segment3d.cc:264
Vector en tres dimensiones.
Definition: Vector3d.h:39
virtual GEOM_FT Ix(void) const
Moment of inertia with respect to the center of mass in local coordinates.
Definition: Segment3d.cc:365