OpenLexocad  27.1
Geom Namespace Reference

Namespaces

 RTree
 

Classes

class  AbstractConstraintSolver
 
class  AbstractPoint2dConstraint
 Base class of all 2d point constraints. More...
 
class  AbstractPoint2dConstraintSolver
 
class  AbstractPointConstraint
 Base class of all point constraints. More...
 
class  AbstractPointConstraintSolver
 
class  Ax1
 
class  Ax2
 
class  Ax22d
 
class  Ax2d
 
class  Ax3
 
class  Bnd_Box
 
class  Box2dRTree
 
class  BoxRTree
 
class  BrepArc
 
class  BrepData
 The BrepData class holds the boundary representation of a FacetedBrep in the form of a model description and unique points. Each added point has an index. The model is formed by using the indices where '-1' indicates the end of a face and '-2' indicates the end of a loop. More...
 
class  BrepEdge
 
class  BrepFace
 
class  BrepLoop
 
class  BrepStraight
 
class  BSPTree
 
class  Circ
 
class  Circ2d
 
class  Circ2D3TanAnalyser
 
class  Clipping
 
class  Clothoid2d
 
class  ColorPoint
 
class  CompoundPlaneAngle
 A compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. More...
 
class  Dir
 
class  Dir2d
 
class  Geom2dArcOfCircle
 
class  Geom2dArcOfConic
 
class  Geom2dArcOfEllipse
 
class  Geom2dArcOfHyperbola
 
class  Geom2dArcOfParabola
 
class  Geom2dBezierCurve
 
class  Geom2dBSplineCurve
 
class  Geom2dCircle
 
class  Geom2dConic
 
class  Geom2dCurve
 
class  Geom2dEllipse
 
class  Geom2dHyperbola
 
class  Geom2dLine
 
class  Geom2dLineSegment
 
class  Geom2dOffsetCurve
 
class  Geom2dParabola
 
class  Geom2dPoint
 
class  Geom2dTrimmedCurve
 
class  GeomArcOfCircle
 
class  GeomArcOfConic
 
class  GeomArcOfEllipse
 
class  GeomArcOfHyperbola
 
class  GeomArcOfParabola
 
class  GeomBezierCurve
 
class  GeomBezierSurface
 
class  GeomBoundedCurve
 
class  GeomBSplineCurve
 
class  GeomBSplineSurface
 
class  GeomCircle
 
class  GeomCone
 
class  GeomConic
 
class  GeomCurve
 
class  GeomCylinder
 
class  GeomEllipse
 
class  GeometricTools
 
class  Geometry
 
class  Geometry2d
 
class  GeometryDefaultExtension
 
class  GeometryExtension
 
class  GeometryPersistenceExtension
 
class  GeomHyperbola
 
class  GeomInit
 
class  GeomLine
 
class  GeomLineSegment
 
class  GeomOffsetCurve
 
class  GeomOffsetSurface
 
class  GeomParabola
 
class  GeomPlane
 
class  GeomPlateSurface
 
class  GeomPoint
 
class  GeomSphere
 
class  GeomSurface
 
class  GeomSurfaceOfExtrusion
 
class  GeomSurfaceOfRevolution
 
class  GeomTools
 
class  GeomToolsOCC
 
class  GeomToroid
 
class  GeomTrimmedCurve
 
class  GeomTrimmedSurface
 
struct  GT_MakeAxisPlacementFrom2Points_Result
 Struct holding the return values from GeomTools::makeAxisPlacementFrom2Points(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_MakeLineFrom2Points1_Result
 Struct holding the return values from GeomTools::makeLineFrom2Points1(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_MakePlaneFrom3Points_Result
 Struct holding the return values from GeomTools::makePlaneFrom3Points(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_ProjectPointOnCircle1_Result
 Struct holding the return values from GeomTools::projectPointOnCircle1(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_ProjectPointOnLine1_Result
 Struct holding the return values from GeomTools::projectPointOnLine1(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_ProjectPointOnLine2_Result
 Struct holding the return values from GeomTools::projectPointOnLine2(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_ProjectPointOnPlane1_Result
 Struct holding the return values from GeomTools::projectPointOnPlane1(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
struct  GT_ProjectPointOnPlane2_Result
 Struct holding the return values from GeomTools::projectPointOnPlane2(). Returns ok=true if the operation was successful. Otherwise returns ok=false. For Python Bindings. More...
 
class  GTrsf
 
class  GTrsf2d
 
class  IndexedMesh
 
class  Lin
 
class  Lin2d
 
class  Mat
 
class  Mat2d
 
class  Matrix4
 This is a simple implementation of double based matrix. More...
 
class  Midpoint2dConstraint
 
class  MidpointConstraint
 
class  Pln
 
class  Pnt
 Defines a non-persistent 3D Cartesian point.
More...
 
class  Pnt2d
 Defines a non-persistent 2D cartesian point.
More...
 
class  Point2dConstraintSolver
 
class  Point2dMapWithTolerance
 
class  Point2dOnLine2dConstraint
 
class  PointConstraintSolver
 
class  PointMapWithTolerance
 
class  PointMustBeInRectangleConstraint
 
class  PointOnLineConstraint
 
class  PointOnPlaneConstraint
 
class  PointOnRadius
 
class  PointOnTwoLinesConstraint
 
class  PointStorage
 
class  PointStorageMT
 
class  Precision
 
class  QuadTree
 
class  QuadTreeIterator
 
class  QuadTreeMT
 
class  Rect
 
class  Rotation
 
class  Sphr
 Defines a non-persistent Sphere in 3D space.
More...
 
class  StaticPoint2dConstraint
 
class  StaticPointConstraint
 
class  StringTool
 
class  Trsf
 
class  Trsf2d
 
class  Vec
 Defines a non-persistent vector in 3D space.
More...
 
class  Vec2d
 Defines a non-persistent vector in 2D space.
More...
 
class  XY
 
class  XYZ
 

Typedefs

using GeometryIntExtension = GeometryDefaultExtension< long >
 
using GeometryStringExtension = GeometryDefaultExtension< std::string >
 
using GeometryBoolExtension = GeometryDefaultExtension< bool >
 
using GeometryDoubleExtension = GeometryDefaultExtension< double >
 
typedef std::vector< XYZXYZ_Array
 

Enumerations

enum  CoordSpace { CoordSpace::WCS, CoordSpace::LCS }
 
enum  CurveType {
  CurveType::LINE, CurveType::CIRCLE, CurveType::ELLIPSE, CurveType::PARABOLA,
  CurveType::BEZIERCURVE, CurveType::BSPLINECURVE, CurveType::HELIX, CurveType::OTHERCURVE
}
 
enum  SurfaceType {
  SurfaceType::PLANE, SurfaceType::CYLINDER, SurfaceType::CONE, SurfaceType::SPHERE,
  SurfaceType::TORUS, SurfaceType::BEZIERSURFACE, SurfaceType::BSPLINESURFACE, SurfaceType::SURFACEOFREVOLUTION,
  SurfaceType::SURFACEOFEXTRUSION, SurfaceType::OFFSETSURFACE, SurfaceType::OTHERSURFACE
}
 
enum  IfcBSplineCurveForm {
  IfcBSplineCurveForm::POLYLINE_FORM, IfcBSplineCurveForm::CIRCULAR_ARC, IfcBSplineCurveForm::ELLIPTIC_ARC, IfcBSplineCurveForm::PARABOLIC_ARC,
  IfcBSplineCurveForm::HYPERBOLIC_ARC, IfcBSplineCurveForm::UNSPECIFIED_CURVE_FORM
}
 
enum  IfcBSplineSurfaceForm {
  IfcBSplineSurfaceForm::PLANE_SURF, IfcBSplineSurfaceForm::CYLINDRICAL_SURF, IfcBSplineSurfaceForm::CONICAL_SURF, IfcBSplineSurfaceForm::SPHERICAL_SURF,
  IfcBSplineSurfaceForm::TOROIDAL_SURF, IfcBSplineSurfaceForm::SURF_OF_REVOLUTION, IfcBSplineSurfaceForm::RULED_SURF, IfcBSplineSurfaceForm::GENERALISED_CONE,
  IfcBSplineSurfaceForm::QUADRIC_SURF, IfcBSplineSurfaceForm::SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm::UNSPECIFIED_SURFACE_FORM
}
 
enum  Qualifier { ENCLOSING, ENCLOSED, OUTSIDE, UNQUALIFIED }
 

Functions

LX_GEOM_EXPORT QString to_string (const Dir &dir)
 
LX_GEOM_EXPORT bool find2DLinesIntersection (const Base::Vector3d &orig1, const Base::Vector3d &dir1, const Base::Vector3d &orig2, const Base::Vector3d &dir2, Base::Vector3d &point)
 
LX_GEOM_EXPORT bool find2DLinesIntersection (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, Base::Vector3d &point)
 
LX_GEOM_EXPORT bool findFilletCenter (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, double radius, Base::Vector3d &center)
 
LX_GEOM_EXPORT bool findFilletCenter (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, double radius, const Base::Vector3d &refPnt1, const Base::Vector3d &refPnt2, Base::Vector3d &center)
 
LX_GEOM_EXPORT double suggestFilletRadius (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d &refPnt1, const Base::Vector3d &refPnt2)
 
LX_GEOM_EXPORT GeomArcOfCirclecreateFilletGeometry (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d &center, double radius)
 
LX_GEOM_EXPORT std::unique_ptr< GeomSurfacemakeFromSurface (const Handle(Geom_Surface)&)
 
LX_GEOM_EXPORT std::unique_ptr< GeomCurvemakeFromCurve (const Handle(Geom_Curve)&)
 
LX_GEOM_EXPORT std::unique_ptr< GeomCurvemakeFromTrimmedCurve (const Handle(Geom_Curve)&, double f, double l)
 
LX_GEOM_EXPORT std::unique_ptr< GeomCurvemakeFromCurveAdaptor (const Adaptor3d_Curve &)
 
std::unique_ptr< Geom2dCurvemakeFromCurve2d (Handle(Geom2d_Curve))
 
std::unique_ptr< Geom2dCurvemakeFromTrimmedCurve2d (const Handle(Geom2d_Curve)&, double f, double l)
 
std::unique_ptr< Geom2dCurvemakeFromCurveAdaptor2d (const Adaptor2d_Curve2d &)
 
LX_GEOM_EXPORT std::istream & operator>> (std::istream &is, Geom::IndexedMesh &op)
 
LX_GEOM_EXPORT std::ostream & operator<< (std::ostream &os, Geom::IndexedMesh &op)
 
LX_GEOM_EXPORT QString to_string (const Pnt &pnt)
 
double distance (const Geom::Vec &v1, const Geom::Vec &v2)
 Returns the distance between two points. More...
 
double distanceP2 (const Geom::Vec &v1, const Geom::Vec &v2)
 Returns the squared distance between two points. More...
 
LX_GEOM_EXPORT QString to_string (const Vec &vec)
 

Detailed Description

Defines a non-persistent transformation in 3D space.
This transformation is a general transformation.
It can be a Trsf from gp, an affinity, or you can define
your own transformation giving the matrix of transformation.

With a Gtrsf you can transform only a triplet of coordinates
XYZ. It is not possible to transform other geometric objects
because these transformations can change the nature of non-
elementary geometric objects.
The transformation GTrsf can be represented as follow :

V1 V2 V3 T XYZ XYZ
| a11 a12 a13 a14 | | x | | x'|
| a21 a22 a23 a24 | | y | | y'|
| a31 a32 a33 a34 | | z | = | z'|
| 0 0 0 1 | | 1 | | 1 |

Typedef Documentation

◆ GeometryBoolExtension

◆ GeometryDoubleExtension

◆ GeometryIntExtension

◆ GeometryStringExtension

◆ XYZ_Array

typedef std::vector<XYZ> Geom::XYZ_Array

Enumeration Type Documentation

◆ CoordSpace

enum Geom::CoordSpace
strong
Enumerator
WCS 
LCS 

◆ CurveType

enum Geom::CurveType
strong
Enumerator
LINE 
CIRCLE 
ELLIPSE 
PARABOLA 
BEZIERCURVE 
BSPLINECURVE 
HELIX 
OTHERCURVE 

◆ IfcBSplineCurveForm

Enumerator
POLYLINE_FORM 
CIRCULAR_ARC 
ELLIPTIC_ARC 
PARABOLIC_ARC 
HYPERBOLIC_ARC 
UNSPECIFIED_CURVE_FORM 

◆ IfcBSplineSurfaceForm

Enumerator
PLANE_SURF 
CYLINDRICAL_SURF 
CONICAL_SURF 
SPHERICAL_SURF 
TOROIDAL_SURF 
SURF_OF_REVOLUTION 
RULED_SURF 
GENERALISED_CONE 
QUADRIC_SURF 
SURF_OF_LINEAR_EXTRUSION 
UNSPECIFIED_SURFACE_FORM 

◆ Qualifier

Enumerator
ENCLOSING 
ENCLOSED 
OUTSIDE 
UNQUALIFIED 

◆ SurfaceType

enum Geom::SurfaceType
strong
Enumerator
PLANE 
CYLINDER 
CONE 
SPHERE 
TORUS 
BEZIERSURFACE 
BSPLINESURFACE 
SURFACEOFREVOLUTION 
SURFACEOFEXTRUSION 
OFFSETSURFACE 
OTHERSURFACE 

Function Documentation

◆ createFilletGeometry()

LX_GEOM_EXPORT GeomArcOfCircle* Geom::createFilletGeometry ( const GeomLineSegment lineSeg1,
const GeomLineSegment lineSeg2,
const Base::Vector3d center,
double  radius 
)

◆ distance()

double Geom::distance ( const Geom::Vec v1,
const Geom::Vec v2 
)
inline

Returns the distance between two points.

◆ distanceP2()

double Geom::distanceP2 ( const Geom::Vec v1,
const Geom::Vec v2 
)
inline

Returns the squared distance between two points.

◆ find2DLinesIntersection() [1/2]

LX_GEOM_EXPORT bool Geom::find2DLinesIntersection ( const Base::Vector3d orig1,
const Base::Vector3d dir1,
const Base::Vector3d orig2,
const Base::Vector3d dir2,
Base::Vector3d point 
)

◆ find2DLinesIntersection() [2/2]

LX_GEOM_EXPORT bool Geom::find2DLinesIntersection ( const GeomLineSegment lineSeg1,
const GeomLineSegment lineSeg2,
Base::Vector3d point 
)

◆ findFilletCenter() [1/2]

LX_GEOM_EXPORT bool Geom::findFilletCenter ( const GeomLineSegment lineSeg1,
const GeomLineSegment lineSeg2,
double  radius,
Base::Vector3d center 
)

◆ findFilletCenter() [2/2]

LX_GEOM_EXPORT bool Geom::findFilletCenter ( const GeomLineSegment lineSeg1,
const GeomLineSegment lineSeg2,
double  radius,
const Base::Vector3d refPnt1,
const Base::Vector3d refPnt2,
Base::Vector3d center 
)

◆ makeFromCurve()

LX_GEOM_EXPORT std::unique_ptr<GeomCurve> Geom::makeFromCurve ( const Handle(Geom_Curve)&  )

◆ makeFromCurve2d()

std::unique_ptr<Geom2dCurve> Geom::makeFromCurve2d ( Handle(Geom2d_Curve)  )

◆ makeFromCurveAdaptor()

LX_GEOM_EXPORT std::unique_ptr<GeomCurve> Geom::makeFromCurveAdaptor ( const Adaptor3d_Curve &  )

◆ makeFromCurveAdaptor2d()

std::unique_ptr<Geom2dCurve> Geom::makeFromCurveAdaptor2d ( const Adaptor2d_Curve2d &  )

◆ makeFromSurface()

LX_GEOM_EXPORT std::unique_ptr<GeomSurface> Geom::makeFromSurface ( const Handle(Geom_Surface)&  )

◆ makeFromTrimmedCurve()

LX_GEOM_EXPORT std::unique_ptr<GeomCurve> Geom::makeFromTrimmedCurve ( const Handle(Geom_Curve)&  ,
double  f,
double  l 
)

◆ makeFromTrimmedCurve2d()

std::unique_ptr<Geom2dCurve> Geom::makeFromTrimmedCurve2d ( const Handle(Geom2d_Curve)&  ,
double  f,
double  l 
)

◆ operator<<()

LX_GEOM_EXPORT std::ostream& Geom::operator<< ( std::ostream &  os,
Geom::IndexedMesh op 
)

◆ operator>>()

LX_GEOM_EXPORT std::istream& Geom::operator>> ( std::istream &  is,
Geom::IndexedMesh op 
)

◆ suggestFilletRadius()

LX_GEOM_EXPORT double Geom::suggestFilletRadius ( const GeomLineSegment lineSeg1,
const GeomLineSegment lineSeg2,
const Base::Vector3d refPnt1,
const Base::Vector3d refPnt2 
)

◆ to_string() [1/3]

LX_GEOM_EXPORT QString Geom::to_string ( const Pnt pnt)

◆ to_string() [2/3]

LX_GEOM_EXPORT QString Geom::to_string ( const Dir dir)

◆ to_string() [3/3]

LX_GEOM_EXPORT QString Geom::to_string ( const Vec vec)