FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

surfaceIntersection Class Reference

Basic surface-surface intersection description. Constructed from two surfaces it creates a description of the intersection. More...

#include <meshTools/surfaceIntersection.H>


Detailed Description

Basic surface-surface intersection description. Constructed from two surfaces it creates a description of the intersection.

The intersection information consists of the intersection line(s) with new points, new edges between points (note that these edges and points are on both surfaces) and various addressing from original surface faces/edges to intersection and vice versa.

Gets either precalculated intersection information or calculates it itself. Algorithm works by intersecting all edges of one surface with the other surface and storing a reference from both faces (one on surface1, one on surface 2) to the vertex. If the reference re-occurs we have the second hit of both faces and an edge is created between the retrieved vertex and the new one.

Note: when doing intersecting itself uses intersection::planarTol() as a fraction of current edge length to determine if intersection is a point-touching one instead of an edge-piercing action.

Source files

Definition at line 81 of file surfaceIntersection.H.

Collaboration diagram for surfaceIntersection:

List of all members.

Public Member Functions

 ClassName ("surfaceIntersection")
 surfaceIntersection ()
 Construct null.
 surfaceIntersection (const triSurface &surf1, const edgeIntersections &intersections1, const triSurface &surf2, const edgeIntersections &intersections2)
 Construct from precalculated intersection information.
 surfaceIntersection (const triSurfaceSearch &querySurf1, const triSurfaceSearch &querySurf2)
 Construct from two surfaces. Does all its own cutting.
 surfaceIntersection (const triSurfaceSearch &querySurf1)
 Special: intersect surface with itself. Used to check for.
const pointField &  cutPoints () const
const edgeList &  cutEdges () const
const labelPairLookup &  facePairToEdge () const
const labelListList &  edgeCuts (const bool) const
 Access either surf1EdgeCuts (isFirstSurface = true) or.
const labelListList &  surf1EdgeCuts () const
const labelListList &  surf2EdgeCuts () const

Constructor & Destructor Documentation

Construct null.

Definition at line 720 of file surfaceIntersection.C.

surfaceIntersection ( const triSurfaceSearch &   querySurf1,
const triSurfaceSearch &   querySurf2  
)

Member Function Documentation

ClassName ( "surfaceIntersection"    )
const Foam::pointField & cutPoints (  ) const
const Foam::edgeList & cutEdges (  ) const
const Foam::labelPairLookup & facePairToEdge (  ) const

Definition at line 1165 of file surfaceIntersection.C.

Referenced by edgeSurface::edgeSurface().

const Foam::labelListList & edgeCuts ( const bool   isFirstSurf  ) const

Access either surf1EdgeCuts (isFirstSurface = true) or.

surf2EdgeCuts

Definition at line 1172 of file surfaceIntersection.C.

Referenced by edgeSurface::edgeSurface().

const Foam::labelListList & surf1EdgeCuts (  ) const

Definition at line 1187 of file surfaceIntersection.C.

const Foam::labelListList & surf2EdgeCuts (  ) const

Definition at line 1193 of file surfaceIntersection.C.


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