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

searchableSurfaceWithGaps Class Reference

searchableSurface using multiple slightly shifted underlying surfaces to make sure pierces don't go through gaps:

  • shift test vector with two small vectors (of size gap_) perpendicular to the original. Test with + and - this vector. Only if both register a hit is it seen as one.
  • extend the test vector slightly (with SMALL) to account for numerical inaccuracies.
More...

#include <meshTools/searchableSurfaceWithGaps.H>


Detailed Description

searchableSurface using multiple slightly shifted underlying surfaces to make sure pierces don't go through gaps:

  • shift test vector with two small vectors (of size gap_) perpendicular to the original. Test with + and - this vector. Only if both register a hit is it seen as one.
  • extend the test vector slightly (with SMALL) to account for numerical inaccuracies.

Source files

Definition at line 60 of file searchableSurfaceWithGaps.H.

Inheritance diagram for searchableSurfaceWithGaps:
Collaboration diagram for searchableSurfaceWithGaps:

List of all members.

Public Member Functions

 TypeName ("searchableSurfaceWithGaps")
 Runtime type information.
 searchableSurfaceWithGaps (const IOobject &io, const dictionary &dict)
 Construct from dictionary (used by searchableSurface)
virtual  ~searchableSurfaceWithGaps ()
const searchableSurface &  surface () const
virtual const wordList &  regions () const
 Names of regions.
virtual bool  hasVolumeType () const
 Whether supports volume type below.
virtual label  size () const
 Range of local indices that can be returned.
virtual pointField  coordinates () const
 Get representative set of element coordinates.
virtual void  findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &info) const
 Find nearest on original surface. Note:does not use perturbation.
virtual void  findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 Find first intersection on segment from start to end.
virtual void  findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 Return any intersection on segment from start to end.
virtual void  findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit > > &) const
 Get all intersections in order from start to end.
virtual void  getRegion (const List< pointIndexHit > &info, labelList &region) const
 From a set of points and indices get the region.
virtual void  getNormal (const List< pointIndexHit > &info, vectorField &normal) const
 From a set of points and indices get the normal.
virtual void  getVolumeType (const pointField &samples, List< volumeType > &info) const
 Determine type (inside/outside/mixed) for point. unknown if.
virtual void  distribute (const List< treeBoundBox > &bbs, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap)
 Set bounds of surface. Bounds currently set as list of.
virtual void  setField (const labelList &values)
 WIP. Store element-wise field.
virtual void  getField (const List< pointIndexHit > &info, labelList &values) const
 WIP. From a set of hits (points and.
bool  writeData (Ostream &os) const
 Pure virtual writaData function.

Constructor & Destructor Documentation

searchableSurfaceWithGaps ( const IOobject &   io,
const dictionary &   dict  
)

Construct from dictionary (used by searchableSurface)

Definition at line 175 of file searchableSurfaceWithGaps.C.

References IOobject::db(), dictionary::lookup(), and objectRegistry::lookupObject().

~searchableSurfaceWithGaps (  ) [virtual]

Definition at line 195 of file searchableSurfaceWithGaps.C.


Member Function Documentation

TypeName ( "searchableSurfaceWithGaps"    )

Runtime type information.

virtual const wordList& regions (  ) const [inline, virtual]

Names of regions.

Implements searchableSurface.

Definition at line 136 of file searchableSurfaceWithGaps.H.

References searchableSurface::regions(), and searchableSurfaceWithGaps::surface().

virtual bool hasVolumeType (  ) const [inline, virtual]

Whether supports volume type below.

Implements searchableSurface.

Definition at line 142 of file searchableSurfaceWithGaps.H.

References searchableSurface::hasVolumeType(), and searchableSurfaceWithGaps::surface().

virtual label size (  ) const [inline, virtual]

Range of local indices that can be returned.

Implements searchableSurface.

Definition at line 148 of file searchableSurfaceWithGaps.H.

References searchableSurface::size(), and searchableSurfaceWithGaps::surface().

virtual pointField coordinates (  ) const [inline, virtual]

Get representative set of element coordinates.

Usually the element centres (should be of length size()).

Implements searchableSurface.

Definition at line 155 of file searchableSurfaceWithGaps.H.

References searchableSurface::coordinates(), and searchableSurfaceWithGaps::surface().

virtual void findNearest ( const pointField &   sample,
const scalarField &   nearestDistSqr,
List< pointIndexHit > &   info  
) const [inline, virtual]

Find nearest on original surface. Note:does not use perturbation.

and hence might be inconsistent with intersections.

Implements searchableSurface.

Definition at line 166 of file searchableSurfaceWithGaps.H.

References searchableSurface::findNearest(), and searchableSurfaceWithGaps::surface().

void findLine ( const pointField &   start,
const pointField &   end,
List< pointIndexHit > &    
) const [virtual]

Find first intersection on segment from start to end.

Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?

Implements searchableSurface.

Definition at line 202 of file searchableSurfaceWithGaps.C.

References forAll, Foam::returnReduce(), List< T >::setSize(), and List< T >::size().

void findLineAny ( const pointField &   start,
const pointField &   end,
List< pointIndexHit > &    
) const [virtual]

Return any intersection on segment from start to end.

Implements searchableSurface.

Definition at line 327 of file searchableSurfaceWithGaps.C.

void findLineAll ( const pointField &   start,
const pointField &   end,
List< List< pointIndexHit > > &   info  
) const [virtual]

Get all intersections in order from start to end.

Implements searchableSurface.

Definition at line 339 of file searchableSurfaceWithGaps.C.

References List< T >::clear(), forAll, List< T >::setSize(), and List< T >::size().

virtual void getRegion ( const List< pointIndexHit > &   info,
labelList &   region  
) const [inline, virtual]

From a set of points and indices get the region.

Implements searchableSurface.

Definition at line 204 of file searchableSurfaceWithGaps.H.

References searchableSurface::getRegion(), and searchableSurfaceWithGaps::surface().

virtual void getNormal ( const List< pointIndexHit > &   info,
vectorField &   normal  
) const [inline, virtual]

From a set of points and indices get the normal.

Implements searchableSurface.

Definition at line 214 of file searchableSurfaceWithGaps.H.

References searchableSurface::getNormal(), and searchableSurfaceWithGaps::surface().

virtual void getVolumeType ( const pointField &   samples,
List< volumeType > &   info  
) const [inline, virtual]

Determine type (inside/outside/mixed) for point. unknown if.

cannot be determined (e.g. non-manifold surface)

Implements searchableSurface.

Definition at line 225 of file searchableSurfaceWithGaps.H.

References searchableSurface::getVolumeType(), and searchableSurfaceWithGaps::surface().

virtual void distribute ( const List< treeBoundBox > &   bbs,
const bool   keepNonLocal,
autoPtr< mapDistribute > &   faceMap,
autoPtr< mapDistribute > &   pointMap  
) [inline, virtual]

Set bounds of surface. Bounds currently set as list of.

bounding boxes. The bounds are hints to the surface as for the range of queries it can expect. faceMap/pointMap can be set if the surface has done any redistribution.

Reimplemented from searchableSurface.

Definition at line 241 of file searchableSurfaceWithGaps.H.

virtual void setField ( const labelList &   values  ) [inline, virtual]

WIP. Store element-wise field.

Reimplemented from searchableSurface.

Definition at line 252 of file searchableSurfaceWithGaps.H.

virtual void getField ( const List< pointIndexHit > &   info,
labelList &   values  
) const [inline, virtual]

WIP. From a set of hits (points and.

indices) get the specified field. Misses do not get set. Return empty field if not supported.

Reimplemented from searchableSurface.

Definition at line 261 of file searchableSurfaceWithGaps.H.

References searchableSurface::getField(), and searchableSurfaceWithGaps::surface().

bool writeData ( Ostream &    ) const [inline, virtual]

Pure virtual writaData function.

Must be defined in derived types

Implements regIOobject.

Definition at line 271 of file searchableSurfaceWithGaps.H.

References searchableSurfaceWithGaps::surface(), and regIOobject::writeData().


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