RobWorkProject  23.9.11-
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
CSGEngine Class Referenceabstract

An abstact class of the nessesary CSG operations. This is intended to be used in conjuction with SimpleTriMesh. More...

#include <CSGEngine.hpp>

Inherited by CSGJSEngine.

Classes

class  Factory
 a factory for CSGEngine. This factory defines an extension point for CSGEngine. More...
 

Public Types

using Ptr = rw::core::Ptr< CSGEngine >
 

Public Member Functions

virtual std::string getID () const =0
 get the String id of the engine More...
 
virtual TriMeshData::Ptr Union (TriMeshData::Ptr m1, TriMeshData::Ptr m2) const =0
 Create a Union of two TriMeshes. More...
 
virtual TriMeshData::Ptr Difference (TriMeshData::Ptr m1, TriMeshData::Ptr m2) const =0
 Create a Union of two TriMeshes. More...
 
virtual TriMeshData::Ptr Intersection (TriMeshData::Ptr m1, TriMeshData::Ptr m2) const =0
 Create a Union of two TriMeshes. More...
 
virtual TriMeshData::Ptr SymmetricDifference (TriMeshData::Ptr m1, TriMeshData::Ptr m2) const =0
 Create a Union of two TriMeshes. More...
 

Protected Member Functions

 CSGEngine (const CSGEngine &)
 

Detailed Description

An abstact class of the nessesary CSG operations. This is intended to be used in conjuction with SimpleTriMesh.

Member Function Documentation

◆ Difference()

virtual TriMeshData::Ptr Difference ( TriMeshData::Ptr  m1,
TriMeshData::Ptr  m2 
) const
pure virtual

Create a Union of two TriMeshes.

Parameters
m1First TriMesh
m2Second TriMesh
Returns
The Resulting TriMesh created as a new Shared pointer

Implemented in CSGJSEngine.

◆ getID()

virtual std::string getID ( ) const
pure virtual

get the String id of the engine

Returns
std::string

Implemented in CSGJSEngine.

◆ Intersection()

virtual TriMeshData::Ptr Intersection ( TriMeshData::Ptr  m1,
TriMeshData::Ptr  m2 
) const
pure virtual

Create a Union of two TriMeshes.

Parameters
m1First TriMesh
m2Second TriMesh
Returns
The Resulting TriMesh created as a new Shared pointer

Implemented in CSGJSEngine.

◆ SymmetricDifference()

virtual TriMeshData::Ptr SymmetricDifference ( TriMeshData::Ptr  m1,
TriMeshData::Ptr  m2 
) const
pure virtual

Create a Union of two TriMeshes.

Parameters
m1First TriMesh
m2Second TriMesh
Returns
The Resulting TriMesh created as a new Shared pointer

Implemented in CSGJSEngine.

◆ Union()

virtual TriMeshData::Ptr Union ( TriMeshData::Ptr  m1,
TriMeshData::Ptr  m2 
) const
pure virtual

Create a Union of two TriMeshes.

Parameters
m1First TriMesh
m2Second TriMesh
Returns
The Resulting TriMesh created as a new Shared pointer

Implemented in CSGJSEngine.


The documentation for this class was generated from the following file: