KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::QuadraticErrorFunction Class Reference

Utilities to compute the minimum error point in a 3D voxel intersected by a triangle mesh This implementation is based on the algorithm explained here: https://www.mattkeeter.com/projects/qef/. More...

#include <qef_utility.h>

Collaboration diagram for Kratos::QuadraticErrorFunction:

Public Member Functions

Operators
 QuadraticErrorFunction ()
 Default constructor. More...
 
virtual ~QuadraticErrorFunction ()
 Destructor. More...
 

Static Public Member Functions

Operations
static array_1d< double, 3 > QuadraticErrorFunctionPoint (const GeometryType &rVoxel, const GeometryArrayType &rTriangles)
 Finds the QuadraticErrorFunction point of a voxel. More...
 
static array_1d< double, 3 > QuadraticErrorFunctionPoint (const BoundingBox< Point > &rBox, const std::vector< GeometricalObject * > &rTriangles)
 Finds the QuadraticErrorFunction point of a voxel. More...
 
static array_1d< double, 3 > CalculateNormal (const GeometryType &rTriangle)
 Calculates the normal vector to the surface of a 3D triangle. More...
 

Type Definitions

using NodeType = Node
 
using NodePtrType = Node::Pointer
 
using GeometryType = Geometry< NodeType >
 
using GeometryPtrType = GeometryType::Pointer
 
using GeometryArrayType = GeometryType::GeometriesArrayType
 
using PointsArrayType = GeometryType::PointsArrayType
 
 KRATOS_CLASS_POINTER_DEFINITION (QuadraticErrorFunction)
 Pointer definition of VoxelInsideVolume. More...
 

Detailed Description

Utilities to compute the minimum error point in a 3D voxel intersected by a triangle mesh This implementation is based on the algorithm explained here: https://www.mattkeeter.com/projects/qef/.

function)

Author
Ariadna Cortes

Member Typedef Documentation

◆ GeometryArrayType

◆ GeometryPtrType

using Kratos::QuadraticErrorFunction::GeometryPtrType = GeometryType::Pointer

◆ GeometryType

◆ NodePtrType

◆ NodeType

◆ PointsArrayType

Constructor & Destructor Documentation

◆ QuadraticErrorFunction()

Kratos::QuadraticErrorFunction::QuadraticErrorFunction ( )
inline

Default constructor.

◆ ~QuadraticErrorFunction()

virtual Kratos::QuadraticErrorFunction::~QuadraticErrorFunction ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ CalculateNormal()

array_1d< double, 3 > Kratos::QuadraticErrorFunction::CalculateNormal ( const GeometryType rTriangle)
static

Calculates the normal vector to the surface of a 3D triangle.

Parameters
rTrianglereference to the triangle
Returns
Normal vector (x,y,z)

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::QuadraticErrorFunction::KRATOS_CLASS_POINTER_DEFINITION ( QuadraticErrorFunction  )

Pointer definition of VoxelInsideVolume.

◆ QuadraticErrorFunctionPoint() [1/2]

array_1d< double, 3 > Kratos::QuadraticErrorFunction::QuadraticErrorFunctionPoint ( const BoundingBox< Point > &  rBox,
const std::vector< GeometricalObject * > &  rTriangles 
)
static

Finds the QuadraticErrorFunction point of a voxel.

Parameters
rVoxelreferences to the voxel whose x-point will be calculated
rTrianglesreferences to the triangles which intersect the voxel at some edge.
Returns
The QuadraticErrorFunction point (x,y,z)

◆ QuadraticErrorFunctionPoint() [2/2]

array_1d< double, 3 > Kratos::QuadraticErrorFunction::QuadraticErrorFunctionPoint ( const GeometryType rVoxel,
const GeometryArrayType rTriangles 
)
static

Finds the QuadraticErrorFunction point of a voxel.

Parameters
rVoxelreferences to the voxel whose x-point will be calculated
rTrianglesreferences to the triangles which intersect the voxel at some edge.
Returns
The QuadraticErrorFunction point (x,y,z)

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