Overture  Version 25
SurfaceStitcher.h
Go to the documentation of this file.
1 #ifndef SURFACE_STITCHER_H
2 #define SURFACE_STITCHER_H
3 
4 // ***********************************************************************
5 // This class can be used to create an unstructured grid in the
6 // the region between overlapping surface grids.
7 // ***********************************************************************
8 
9 #include "Overture.h"
10 
11 class Ugen;
12 class BodyDefinition;
13 
14 
16 {
17 public:
18 
21 
22 // define the grid faces that belong to different surfaces
23 int defineSurfaces( CompositeGrid & cg, BodyDefinition *bodyDefinition =NULL );
24 
25 // Automatically enlarge the gap to a specified amount (plus extra)
26 int enlargeGapWidth(real minGapSizeInGridLines = .5, int extraGapWidth = 0 );
27 
28 // enlarge the gap between surface patches by a fixed amount
29 int enlargeGap( int gapWidth, int gridToChange = -1 );
30 
31 
33 
35 
37 
38 
39 int stitchSurfaceCompositeGrid(int option = 1 );
40 
42 {
45 };
46 
47 // set the mask in the surface grid to either the original mask or the mask for the enlarged gap.
48 int setMask( SurfaceMaskEnum option );
49 
50 
51 protected:
52 
53 void buildSurfaceCompositeGrid(CompositeGrid &cg, BodyDefinition *bodyDefinition =NULL );
54 
55 CompositeGrid *pCgSurf; // holds the surface CompositeGrid
56 Ugen *pUgen; // for computing the unstructured stitching grid
57 
58 SurfaceMaskEnum maskOption; // is the mask in surface grid the original mask ?
59 intArray *surfMask; // save masks from surface grids here so that we can reset to original or enlarged hole
60 
61 };
62 
63 
64 #endif