SundanceSurf3DCalc.hpp
Go to the documentation of this file.
00001 /*
00002  * SundanceSurf3DCalc.hpp
00003  *
00004  *  Created on: Oct 25, 2011
00005  *      Author: benk
00006  */
00007 
00008 #ifndef SUNDANCESURF3DCALC_HPP_
00009 #define SUNDANCESURF3DCALC_HPP_
00010 
00011 #include "SundanceParametrizedCurve.hpp"
00012 #include "SundanceOut.hpp"
00013 #include "SundancePoint.hpp"
00014 #include "SundanceQuadratureFamily.hpp"
00015 #include "SundanceCellType.hpp"
00016 #include "SundanceMesh.hpp"
00017 
00018 namespace Sundance {
00019 
00020 /** This class contains the computational methods which are necessary for the 3D surface and cut-cell
00021  * calculations.*/
00022 class SundanceSurf3DCalc {
00023 public:
00024 
00025   /** empty Ctor */
00026   SundanceSurf3DCalc() {;}
00027 
00028   /** empty Dtor */
00029   virtual ~SundanceSurf3DCalc() {;}
00030 
00031   /** method to compute the intersection surface between one curve and a brick cell.
00032    * The resulted surface is represented by a triangle surface.
00033    * @param maxCellType [IN]
00034    * @param maxCellLID [IN]
00035    * @param mesh [IN]
00036    * @param paramCurve [IN] the surface object
00037    * @param intersectPoints [OUT] the array with the intersection points in the reference coordinate
00038    * @param brickPoints [OUT] 12 points of the brick cell
00039    * @param edgeIndex [OUT] the intersection points are by default on the edges of the brick
00040    * @param triangleIndex [OUT] contains the triangles, the size of this vector is 3*nrTriags. */
00041     static void getCurveQuadPoints(CellType  maxCellType ,
00042                                int maxCellLID ,
00043                                const Mesh& mesh ,
00044                    const ParametrizedCurve& paramCurve,
00045                    const Array<Point>& brickPoints,
00046                    Array<Point>& intersectPoints ,
00047                    Array<int>& edgeIndex,
00048                    Array<int>& triangleIndex);
00049 
00050 
00051   static const int edegIndex[12][2];
00052 
00053   static const int faceEdges[6][4];
00054 
00055   static const int edgeFaces[12][2];
00056 
00057   static const int edgeNeighboredges[12][12];
00058 
00059 };
00060 
00061 
00062 }
00063 #endif /* SUNDANCESURF3DCALC_HPP_ */

Site Contact