diff --git a/docs/ClassDiagram.png b/docs/ClassDiagram.png index 5043923..82b9f5b 100755 Binary files a/docs/ClassDiagram.png and b/docs/ClassDiagram.png differ diff --git a/docs/ClassDiagram.txt b/docs/ClassDiagram.txt index 48ca7a9..16a290c 100755 --- a/docs/ClassDiagram.txt +++ b/docs/ClassDiagram.txt @@ -65,7 +65,10 @@ class constructor_m { class PcCoarsen2D_cpp { vector < Point2d > inputPoints - WeightedSampleElimination object + vector < Point2d > outputPoints + WeightedSampleElimination< Point2d, double, 2, int > wse + float area + float d_max outputpoints = wse.Eliminate Nc = outputPoints.size xc < outputPoints.x, outputPoints.y> @@ -112,6 +115,10 @@ class cyVector_h{ } class cySampleElim_h { + alpha + beta + gamma + tiling bounds weightLimiting TilePoint @@ -121,6 +128,7 @@ class cySampleElim_h { +SetWeightLimiting() +GetParameters() +GetMaxPoissonDiskRadius() + +DoEliminate() } @@ -188,7 +196,8 @@ gallery_m -d-> DriverScript_m : 2. return sanitized data DriverScript_m -r-> mgm2D_m : 3. Build mgm2D object\n with gallery data mgm2D_m -u-|> mgm_m : implements mgm2D_m -r-> constructor_m : 4. call constructor -constructor_m -r-> PcCoarsen2D_cpp : 5. calls PcCoarsen2D +constructor_m -r-> PcCoarsen2D_cpp : 5. Matlab Mex binding \n input/output \n calls cyPackage +PcCoarsen2D_cpp -d-> constructor_m PcCoarsen2D_cpp -r-> cySampleElim_h : 6. call wse constructor(), Eliminate() cySampleElim_h -r-> cyCore_h cySampleElim_h -d-> cyHeap_h : 7. Coarsening algorithm \n uses priority queue \n of nearest neighbors diff --git a/docs/CoarsenDiagram.png b/docs/CoarsenDiagram.png deleted file mode 100755 index c307e7c..0000000 Binary files a/docs/CoarsenDiagram.png and /dev/null differ diff --git a/docs/CoarsenDiagram.txt b/docs/CoarsenDiagram.txt deleted file mode 100755 index 1b55df8..0000000 --- a/docs/CoarsenDiagram.txt +++ /dev/null @@ -1,88 +0,0 @@ -@startuml - -class constructor_m { - -} - -class PcCoarsen2D_cpp { - vector < Point2d > inputPoints - vector < Point2d > outputPoints - WeightedSampleElimination< Point2d, double, 2, int > wse - float area - float d_max - outputpoints = wse.Eliminate - Nc = outputPoints.size - xc < outputPoints.x, outputPoints.y> - +operator() - +checkArguments() -} - -class cyHeap_h { - +Build() - +get() - +set() - +move() - +clear() - +pop() - +copy() -} - -class cyPointCloud_h { - PointData points - pointCount - PointType - numInternal - DIMENSIONS - +PointCloud() constructor - +Build() - +BuildKDTree() - +getPoints() - +getClosest() - - -} - - - -class cyVector_h{ - +operators() - +math functions() -} - -class cySampleElim_h { - alpha - beta - gamma - tiling - bounds - weightLimiting - TilePoint - +WeightedSampleElimination() - +Eliminate() - +SetTiling() - +SetWeightLimiting() - +GetParameters() - +GetMaxPoissonDiskRadius() - +DoEliminate() - -} - -class cyCore_h { - +core functions() - +vector functions() - +math functions() - +memory operators() -} - - - -constructor_m -r-> PcCoarsen2D_cpp : Matlab Mex function \n input/output -PcCoarsen2D_cpp -d-> constructor_m -PcCoarsen2D_cpp -r-> cySampleElim_h -cySampleElim_h -r-> cyCore_h -cySampleElim_h -d-> cyHeap_h -cySampleElim_h -d-> cyPointCloud_h -cyPointCloud_h --> cyVector_h - - -@enduml \ No newline at end of file diff --git a/docs/pyMGMClassDiagram.png b/docs/pyMGMClassDiagram.png new file mode 100755 index 0000000..787bf59 Binary files /dev/null and b/docs/pyMGMClassDiagram.png differ diff --git a/docs/pyMGMClassDiagram.txt b/docs/pyMGMClassDiagram.txt new file mode 100755 index 0000000..733446c --- /dev/null +++ b/docs/pyMGMClassDiagram.txt @@ -0,0 +1,76 @@ +@startuml + +abstract class mgm_py { + +solve() + +afun() + +standalone() + +multilevel() +} + +class mgm2D_py { + Lh + x + domArea + stencilSize + LevelsData < interpolator<> , restrictor<> , PointClouds<> > + uh + relres + iters + resvec + +init() + +constructor() + +buildInterpOp() + +plot() +} + +class sqrpoisson { + Lh + x + domVol + fh + uexact +} + +class Demo_py { + +} + + + +class PcCoarsen2D_cpp { + vector < Point2d > inputPoints + vector < Point2d > outputPoints + Nc = outputPoints.size + + +Coarsen() +} + + + +class cyCodeBase_cpp { + Point Cloud + Heap + +WeightedSampleElimination() + + +} + + +class polynomialBasis2D_py { + +} + + + +Demo_py -u-> sqrpoisson : Create Sample Data +Demo_py -r-> mgm2D_py : Build mgm2D object\n with sqrpoisson input data +mgm2D_py -u-|> mgm_py : inherits +mgm2D_py -r-> PcCoarsen2D_cpp : pyBind linking to C++ +PcCoarsen2D_cpp -r-> cyCodeBase_cpp : call cyCodeBase \n to coarsen levels +mgm2D_py --> polynomialBasis2D_py + + + + + +@enduml \ No newline at end of file