Geometric primitives and their manipulations

## Functions

SPDistanceFunction | asl::generateDFSphere (double r, const AVec< double > &c)
| generates sphere More...
SPDistanceFunction | asl::generateDFCylinderInf (double r, const AVec< double > &l, const AVec< double > &c)
| generates infinite cylinder More...
SPDistanceFunction | asl::generateDFCylinder (double r, const AVec< double > &l, const AVec< double > &c)
| generates cylinder More...
SPDistanceFunction | asl::generateDFCone (double r, const AVec< double > &l, const AVec< double > &a)
| generates cone More...
SPDistanceFunction | asl::generateDFPlane (const AVec< double > &n, const AVec< double > &p0)
SPDistanceFunction | asl::generateDFConvexPolygonPrism (std::vector< AVec< double >> points)
| generates infinite prism with convex polygon at its base More...
SPDistanceFunction | asl::generateDFConvexPolygonPyramid (std::vector< AVec< double >> points, AVec< double > a)
| generates pyramid with convex polygon at its base and apex `a` More...
SPDistanceFunction | asl::generateDFInBlock (const Block &b, unsigned int nG)
| generates map corresponding to external (ghost) part of the block More...
SPDistanceFunction | asl::operator& (SPDistanceFunction a, SPDistanceFunction b)
SPDistanceFunction | asl::operator| (SPDistanceFunction a, SPDistanceFunction b)
SPDistanceFunction | asl::operator- (SPDistanceFunction a)
SPDistanceFunction | asl::normalize (SPDistanceFunction a, double dx)
SPAbstractDataWithGhostNodes | asl::generateDataContainer_SP (const Block &b, SPDistanceFunction df, unsigned int gN, acl::TypeID t)

## Detailed Description

## Function Documentation

## generateDataContainer_SP()

SPAbstractDataWithGhostNodes asl::generateDataContainer_SP | ( | const Block & | b,
|  | SPDistanceFunction | df,
|  | unsigned int | gN,
|  | acl::TypeID | t
| ) |  |

## generateDFCone()

SPDistanceFunction asl::generateDFCone | ( | double | r,
|  | const AVec< double > & | l,
|  | const AVec< double > & | a
| ) |  |

generates cone

Parameters

  r | radius
  l | orientation and length, from apex to base
  a | apex

Examples
  pitot_tube_ice.cc.

## generateDFConvexPolygonPrism()

SPDistanceFunction asl::generateDFConvexPolygonPrism | ( | std::vector< AVec< double >> | points | ) |

generates infinite prism with convex polygon at its base

Parameters

  points | list of points in 3D space.

The prism axis is oriented orthogonal to the plane of the triangle defined by a center and first two points. Points of the base polygon must be provided in continuous manner.

Examples
  flow2.cc, flowKDPGrowth.cc, and testDistanceFunction.cc.

## generateDFConvexPolygonPyramid()

SPDistanceFunction asl::generateDFConvexPolygonPyramid | ( | std::vector< AVec< double >> | points,
|  | AVec< double > | a
| ) |  |

generates pyramid with convex polygon at its base and apex `a`

Parameters

  points | list of points in 3D space.

the pyramid base plane is defined by a center and fist two points the points should be ordered counter clock rotation for an observer placed in `a`

Examples
  flowKDPGrowth.cc, and testDistanceFunction.cc.

## generateDFCylinder()

SPDistanceFunction asl::generateDFCylinder | ( | double | r,
|  | const AVec< double > & | l,
|  | const AVec< double > & | c
| ) |  |

generates cylinder

Parameters

  r | radius
  l | orientation and length
  c | center

Examples
  acousticWaves.cc, flow2.cc, flowKDPGrowth.cc, locomotive.cc, locomotive_laminar.cc, locomotive_stability.cc, pitot_tube_ice.cc, and testDistanceFunction.cc.

## generateDFCylinderInf()

SPDistanceFunction asl::generateDFCylinderInf | ( | double | r,
|  | const AVec< double > & | l,
|  | const AVec< double > & | c
| ) |  |

generates infinite cylinder

Parameters

  r | radius
  l | orientation
  c | center

Examples
  acousticWaves.cc, compressor.cc, flow.cc, flow3.cc, flowKDPGrowth.cc, flowRotatingCylinders.cc, multicomponent_flow.cc, multiphase_flow.cc, and testDistanceFunction.cc.

## generateDFInBlock()

SPDistanceFunction asl::generateDFInBlock | ( | const Block & | b,
|  | unsigned int | nG
| ) |  |

generates map corresponding to external (ghost) part of the block

Examples
  cubeGravity.cc, cubeIncompressibleGravity.cc, cubePoroelasticGravity.cc, flowRotatingCylinders.cc, multicomponent_flow.cc, multiphase_flow.cc, and testDistanceFunction.cc.

## generateDFPlane()

SPDistanceFunction asl::generateDFPlane | ( | const AVec< double > & | n,
|  | const AVec< double > & | p0
| ) |  |

generates a plane

Parameters

  n | vector orthogonal to the plane
  p0 | point on the plane

Examples
  flow2.cc, flowKDPGrowth.cc, locomotive.cc, locomotive_laminar.cc, pitot_tube_ice.cc, poroelastic.cc, and testDistanceFunction.cc.

## generateDFSphere()

SPDistanceFunction asl::generateDFSphere | ( | double | r,
|  | const AVec< double > & | c
| ) |  |

generates sphere

Parameters

  r | radius
  c | center

Examples
  levelSetBasic.cc, levelSetFacetedGrowth.cc, levelSetNormalGrowth.cc, surfaceFlux.cc, and testDistanceFunction.cc.

## normalize()

SPDistanceFunction asl::normalize | ( | SPDistanceFunction | a,
|  | double | dx
| ) |  |

Examples
  acousticWaves.cc, cubeGravity.cc, cubeIncompressibleGravity.cc, cubePoroelasticGravity.cc, flowRotatingCylinders.cc, multicomponent_flow.cc, multiphase_flow.cc, and pitot_tube_ice.cc.

## operator&()

SPDistanceFunction asl::operator& | ( | SPDistanceFunction | a,
|  | SPDistanceFunction | b
| ) |  |

If both operands are not initialized - it leads to an error. If only one operand is not initialized - it is ignored and the second is returned.

## operator-()

SPDistanceFunction asl::operator- | ( | SPDistanceFunction | a | ) |

## operator|()

SPDistanceFunction asl::operator| | ( | SPDistanceFunction | a,
|  | SPDistanceFunction | b
| ) |  |

If both operands are not initialized - it leads to an error. If only one operand is not initialized - it is ignored and the second is returned.