RobWorkProject  24.8.23-
Classes | Typedefs | Enumerations
rw::geometry Namespace Reference

Loading and storing of CAD models. More...

Classes

class  AABB
 Axis Aligned Bounding Box class. More...
 
class  AnalyticUtil
 Utility functions for functions dealing with analytic geometry. More...
 
class  BREP
 Boundary representation (or B-Rep) of a geometric shape, using a collection of connected surfaces, edges and vertices. More...
 
class  Curve
 Curve is an abstract representation of a smooth curve geometry in 3D. More...
 
class  Face
 Abstract interface for geometric faces. More...
 
class  GenericFace
 The GenericFace implementation is a type of Face that consist of abstract Surfaces and Curves. More...
 
class  ImplicitBREP
 Type of BREP where all surfaces are of type ImplicitSurface, and edges are of type ParametricCurve. More...
 
class  ImplicitFace
 Type of Face, where the surface is an ImplicitSurface and the edges are of type ParametricCurve. More...
 
class  ImplicitShell
 Type of Shell where all surfaces are of type ImplicitSurface and all curves are of type ParametricCurve. More...
 
class  ImplicitSurface
 Interface for implicit surfaces. An implicit surface is given by an expression of the form \( F(\mathbf{x})=0, \mathbf{x} \in \mathbb{R}^3\). More...
 
class  ImplicitTorus
 Torus defined as an implicit surface. More...
 
class  IndexedFaceArray
 An indexed face array is a proxy to a Shell, that makes it possible to easily sort faces and take subsets without modifying the underlying Shell. More...
 
class  ParametricCurve
 Interface for parametric curves. A parametric curve, \( \mathbf{p}(t) \in \mathbb{R}^3 \), has its points given as a function of a single parameter, \( t \in \mathbb{R}\). More...
 
class  IndexedQuadraticFaceArray
 Proxy class for a QuadraticShell, that allows sorting of faces without modifying the original object. More...
 
class  PlainQuadraticShell
 A collection of concrete Quadratic surface patches, that together form a shell. More...
 
class  QuadraticBREP
 A boundary representation where the geometry of a face is a QuadraticSurface, and an edge curve is a QuadraticCurve. More...
 
class  QuadraticCurve
 A quadratic curve. More...
 
class  QuadraticFace
 A Quadratic surface patch bounded by Quadratic curves. More...
 
class  QuadraticShell
 A collection of Quadratic surface patches, that together form a shell. More...
 
class  QuadraticSurface
 A quadratic surface. More...
 
class  QuadraticUtil
 Utility functions for operations on quadratic surfaces and curves. More...
 
class  Shell
 A shell represents the geometry of an object as a collection of non-connected faces. More...
 
class  Surface
 Surface is an abstract representation of a smooth surface geometry. More...
 
class  Box
 a box primitive, origin is in center of box More...
 
class  BSphere
 class representing an Bounding sphere More...
 
class  BV
 a general bounding volume class for template inheritance. This class defines methods that a deriving class must implement. More...
 
class  OBV
 a general oriented bounding volume class More...
 
class  BVFactory
 interface of bounding volume factory More...
 
class  BVCollider
 abstract class describing interface of a bounding volume collision detector. The inheritance is template based to reduce virtual method overhead More...
 
class  Cone
 cone primitive. Like a cylinder though where a radius can be specified for both ends. More...
 
class  Contour2D
 class representing a 2d contour More...
 
class  ConvexHull2D
 interface for convexhull calculators on 2d point sets More...
 
class  ConvexHull3D
 interface for convexhull calculators on 3d point sets More...
 
class  ConvexHullND
 interface for convexhull calculators on 3d point sets More...
 
class  Covariance
 class for estimating the covariance of different data More...
 
struct  TriMeshData
 a simple data structure for keeping the information on vertices and triangles this is the underlying data stucture of SimpleTriMesh, and should be used through that More...
 
class  CSGEngine
 An abstact class of the nessesary CSG operations. This is intended to be used in conjuction with SimpleTriMesh. More...
 
class  Cylinder
 a cylinder primitive. By default the radius is in the x-y plane and height is along the z-axis More...
 
class  Delaunay
 Utility functions for doing Delaunay triangulations. More...
 
class  DistanceUtil
 a class for performing distance calculations between different geometric primitives More...
 
class  Geometry
 a class for representing a geometry that is scaled and transformed, and which is attached to a frame. More...
 
class  GeometryData
 an interface for geometry data. More...
 
class  GeometryUtil
 Utility functions for calculating properties of geometry. More...
 
class  HyperSphere
 A hyper-sphere of K dimensions. More...
 
class  IndexedPolygon
 indexed polygon class that saves N indices to the N vertices of the polygon More...
 
class  IndexedPolygonN
 Polygon with N vertice indices and 0 normals. More...
 
class  IndexedPolygonNN
 Polygon with N vertices and N normals. More...
 
class  IndexedTriangle
 indexed triangle class that has 3 indices that points to 3 vertices in an array typically used with the IndexedTriMesh class. the indice type (size) is templated. More...
 
class  IndexedTriangleN1
 indexed triangle class with an additional index for an face normal More...
 
class  IndexedTriangleN3
 indexed triangle class with an additional index for 3 normals one for each vertice in the triangle More...
 
class  IndexedTriArray
 this class is a proxy to a triangle mesh where the triangles can be indirectly copied in an efficient manner. More...
 
class  IndexedTriMesh
 Interface for indexed triangle meshes. More...
 
class  IndexedTriMeshN0
 an Indexed Triangle mesh with zero normals More...
 
class  IntersectUtil
 utility class for calculating intersection points between geometry primitives More...
 
class  Line
 A line in 3D, described by a two points. More...
 
class  LineMetric
 A metric for calculating line-to-line distance. More...
 
class  Model3D
 a 3d model that has geometry but also material and color. he model can be composed of multiple objects that are connected in a hierarchical manner. The model is designed for efficient drawing and as such special structures are used to order the indexes such that efficient drawing is possible. More...
 
class  OBB
 class representing an Oriented Bounding Box (OBB) More...
 
class  OBBCollider
 class for testing if two Oriented Bounding Boxes (OBBs) are overlapping. The method used is based on the seperating axis theorem. Please see the article "OBBTree: A Hierarchical Structure for Rapid Interference Detection". More...
 
class  OBBFactory
 factory for computing tight fitting Oriented Bounding Boxes. More...
 
class  OBBToleranceCollider
 class for testing if two Oriented Bounding Boxes are overlapping More...
 
class  Object3DGeneric
 An abstract 3d object consisting of geometry information, material and texture. More...
 
class  Object3D
 A concrete 3d object consisting of geometry information, material and texture. More...
 
class  PlainTriMesh
 a triangle mesh representation that maintains a list of simple triangles. More...
 
class  Plane
 plane primitive represented in Hessian normal-form: a*nx+b*ny+c*nz+d=0 More...
 
class  PlaneMetric
 A metric for calculating plane-to-plane distance. More...
 
class  PointCloud
 A simple point cloud data structure. Points may be ordered or not. An ordered set is kept as a single array in row major order and with a width and a height. An unordered array must have height==1 and width equal to the number of points. More...
 
class  Polygon
 indexed polygon class that saves N indices to the N vertices of the polygon More...
 
class  PolygonUtil
 Utility functions for operations on polygons, such as convex partitioning. More...
 
class  Primitive
 defines an interface for a geometric shape that is defined by a set of parameters. More...
 
class  Pyramid
 a pyrimidal geometric primitive. The pyramid has a rectangular base in the xy-plane and its end pointed lie in the z-axis with a distance from the xy-plane. More...
 
class  QHull3D
 calculates the convex hull of a set of 3d points. More...
 
class  QHullND
 calculates the convex hull of a set of 3d points. More...
 
class  Ray
 A ray - an infinitely extending half-line described by a starting position and a direction. More...
 
class  ReferencedEdge
 
class  ReferencedTriangle
 The ReferencedTriangle contains a reference to the mesh it has been created from. Therefore any changes to the triangle wil be reflected in the original mesh. More...
 
class  ReferencedVertice
 The ReferencedVertice contains a reference to the mesh it has been created from. Therefore any changes to the vertice wil be reflected in the original mesh. More...
 
class  SimpleTriMesh
 A TriMesh with better interactions with the underlying data, and more capabilities. More...
 
class  Sphere
 a sphere primitive. centr in (0,0,0) and a radius. More...
 
class  Triangle
 plain triangle class. The second template argument specify the number of normals associated with the triangle. The triangle vertices should be arranged counter clock wise. More...
 
class  TriangleN1
 Triangle facet. triangle class of type N1, which means that beside the plain triangle the face normal of the triangle is saved with the facenormal. More...
 
class  TriangleN3
 Triangle facet. triangle class that stores one normal for each vertex in the triangle. More...
 
class  TriangleUtil
 utility for triangle manipulation More...
 
class  Triangulate
 Class for triangulating a polygon. More...
 
class  TriDistanceCalc
 class for testing if two Oriented Bounding Boxes are overlapping More...
 
class  TriMesh
 interface of a triangle mesh. The interface defines a way to get triangles from a triangle array/mesh. More...
 
class  TriMeshSurfaceSampler
 random sampling of points and orientations close to the surface of a geometry. More...
 
class  TriTriIntersectDeviller
 tests if two triangles are intersecting using devillers method. More...
 
class  TriTriIntersectMoller
 tests if two triangles are intersecting using Thomas Mollers, 1997, no div method. The code is strongly inspired (read converted to use RobWork types) from Opcode 1.3 Pierre Terdiman 2001. More...
 
class  TriTriToleranceIntersect
 tests if two swept sphere triangles are intersecting. This corresponds to testing if two triangles are within a certain distqance (tolerance) of each other More...
 
class  Tube
 a tube primitive. radius is in xy-plane and height is in z-axis More...
 

Typedefs

typedef IndexedTriMesh< double > IndexedTriMeshD
 IndexedTriMesh using valuetype double.
 
typedef IndexedTriMesh< float > IndexedTriMeshF
 IndexedTriMesh using valuetype float.
 
typedef rw::core::Ptr< IndexedTriMesh< double > > IndexedTriMeshDPtr
 smart pointer type of IndexedTriMeshD
 
typedef rw::core::Ptr< IndexedTriMesh< float > > IndexedTriMeshFPtr
 smart pointer type of IndexedTriMeshF
 
typedef rw::geometry::IndexedTriMeshN0< double > IndexedTriMeshN0D
 The type for a IndexedTriMesh with no normals of double value type and uint16_t as index type.
 
typedef rw::geometry::IndexedTriMeshN0< float > IndexedTriMeshN0F
 The type for a IndexedTriMesh with no normals of float value type and uint16_t as index type.
 
typedef rw::geometry::PlainTriMesh< rw::geometry::Triangle< double > > PlainTriMeshD
 tri mesh, double, no normals
 
typedef rw::geometry::PlainTriMesh< rw::geometry::Triangle< float > > PlainTriMeshF
 tri mesh, float, no normals
 
typedef rw::geometry::PlainTriMesh< rw::geometry::TriangleN1< double > > PlainTriMeshN1D
 tri mesh, double, 1 face normal
 
typedef rw::geometry::PlainTriMesh< rw::geometry::TriangleN1< float > > PlainTriMeshN1F
 tri mesh, float, 1 face normal
 
typedef rw::geometry::PlainTriMesh< rw::geometry::TriangleN3< double > > PlainTriMeshN3D
 tri mesh, double, 3 vertex normals
 
typedef rw::geometry::PlainTriMesh< rw::geometry::TriangleN3< float > > PlainTriMeshN3F
 tri mesh, float, 3 vertex normals
 

Enumerations

enum  VertexIdx { V1 = 0 , V2 , V3 }
 vertice indexes of triangle More...
 

Detailed Description

Loading and storing of CAD models.

Enumeration Type Documentation

◆ VertexIdx

enum VertexIdx

vertice indexes of triangle

Enumerator
V1 

The first vertex.

V2 

The second vertex.

V3 

The third vertex.