Ignore:
Timestamp:
Feb 9, 2009, 5:24:10 PM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
451d7a
Parents:
4aef8a
git-author:
Frederik Heber <heber@…> (02/09/09 15:55:37)
git-committer:
Frederik Heber <heber@…> (02/09/09 17:24:10)
Message:

Merge branch 'ConcaveHull' of ../espack2 into ConcaveHull

Conflicts:

molecuilder/src/boundary.cpp
molecuilder/src/boundary.hpp
molecuilder/src/builder.cpp
molecuilder/src/linkedcell.cpp
molecuilder/src/linkedcell.hpp
molecuilder/src/vector.cpp
molecuilder/src/vector.hpp
util/src/NanoCreator.c

Basically, this resulted from a lot of conversions two from spaces to one tab, which is my standard indentation. The mess was caused by eclipse auto-indenting. And in espack2:ConcaveHull was the new stuff, so all from ConcaveHull was replaced in case of doubt.
Additionally, vector had ofstream << operator instead ostream << ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/boundary.hpp

    • Property mode changed from 100644 to 100755
    r4aef8a re08f45  
    1717
    1818#include <gsl/gsl_poly.h>
     19#include <gsl/gsl_matrix.h>
     20#include <gsl/gsl_linalg.h>
     21#include <gsl/gsl_multimin.h>
     22#include <gsl/gsl_permutation.h>
    1923
     24#include "linkedcell.hpp"
    2025#include "molecules.hpp"
    2126
    2227template <typename T> void SetEndpointsOrdered(T endpoints[2], T endpoint1, T endpoint2)
    2328{
    24   if (endpoint1->Nr < endpoint2->Nr) {
    25     endpoints[0] = endpoint1;
    26     endpoints[1] = endpoint2;
    27   } else {
    28     endpoints[0] = endpoint2;
    29     endpoints[1] = endpoint1;
    30   }
     29        if (endpoint1->Nr < endpoint2->Nr) {
     30                endpoints[0] = endpoint1;
     31                endpoints[1] = endpoint2;
     32        } else {
     33                endpoints[0] = endpoint2;
     34                endpoints[1] = endpoint1;
     35        }
    3136};
    3237
    3338class BoundaryPointSet {
    34   public:
    35     BoundaryPointSet();
    36     BoundaryPointSet(atom *Walker);
    37     ~BoundaryPointSet();
     39        public:
     40                BoundaryPointSet();
     41                BoundaryPointSet(atom *Walker);
     42                ~BoundaryPointSet();
    3843
    39     void AddLine(class BoundaryLineSet *line);
     44                void AddLine(class BoundaryLineSet *line);
    4045
    41     LineMap lines;
    42     int LinesCount;
    43     atom *node;
    44     int Nr;
     46                LineMap lines;
     47                int LinesCount;
     48                atom *node;
     49                int Nr;
    4550};
    4651
    4752class BoundaryLineSet {
    48   public:
    49     BoundaryLineSet();
    50     BoundaryLineSet(class BoundaryPointSet *Point[2], int number);
    51     ~BoundaryLineSet();
     53        public:
     54                BoundaryLineSet();
     55                BoundaryLineSet(class BoundaryPointSet *Point[2], int number);
     56                ~BoundaryLineSet();
    5257
    53     void AddTriangle(class BoundaryTriangleSet *triangle);
     58                void AddTriangle(class BoundaryTriangleSet *triangle);
    5459
    55     class BoundaryPointSet *endpoints[2];
    56     TriangleMap triangles;
    57     int TrianglesCount;
    58     int Nr;
     60                class BoundaryPointSet *endpoints[2];
     61                TriangleMap triangles;
     62                int TrianglesCount;
     63                int Nr;
    5964};
    6065
    6166class BoundaryTriangleSet {
    62   public:
    63     BoundaryTriangleSet();
    64     BoundaryTriangleSet(class BoundaryLineSet *line[3], int number);
    65     ~BoundaryTriangleSet();
     67        public:
     68                BoundaryTriangleSet();
     69                BoundaryTriangleSet(class BoundaryLineSet *line[3], int number);
     70                ~BoundaryTriangleSet();
    6671
    67     void GetNormalVector(Vector &NormalVector);
     72                void GetNormalVector(Vector &NormalVector);
    6873
    69     class BoundaryPointSet *endpoints[3];
    70     class BoundaryLineSet *lines[3];
    71     Vector NormalVector;
    72     int Nr;
     74                class BoundaryPointSet *endpoints[3];
     75                class BoundaryLineSet *lines[3];
     76                Vector NormalVector;
     77                int Nr;
    7378};
    7479
    7580class Tesselation {
    76   public:
     81        public:
    7782
    78     Tesselation();
    79     ~Tesselation();
     83                Tesselation();
     84                ~Tesselation();
    8085
    81     void TesselateOnBoundary(ofstream *out, config *configuration, molecule *mol);
    82     void GuessStartingTriangle(ofstream *out);
    83     void AddPoint(atom * Walker);
    84     void AddTrianglePoint(atom* Candidate, int n);
    85     void AddTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, int n);
    86     void AddTriangleToLines();
    87     void Find_starting_triangle(molecule* mol, const double RADIUS);
    88     void Find_next_suitable_triangle(ofstream *out, molecule* mol, BoundaryLineSet &Line, BoundaryTriangleSet &T, const double& RADIUS, int N, const char *tempbasename);
     86                void TesselateOnBoundary(ofstream *out, config *configuration, molecule *mol);
     87                void GuessStartingTriangle(ofstream *out);
     88                void AddPoint(atom * Walker);
     89                void AddTrianglePoint(atom* Candidate, int n);
     90                void AddTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, int n);
     91                void AddTriangleToLines();
     92                void Find_starting_triangle(ofstream *out, molecule* mol, const double RADIUS, LinkedCell *LC);
     93                bool Find_next_suitable_triangle(ofstream *out, molecule* mol, BoundaryLineSet &Line, BoundaryTriangleSet &T, const double& RADIUS, int N, const char *filename, LinkedCell *LC);
     94                bool CheckPresenceOfTriangle(ofstream *out, atom *Candidates[3]);
     95                void Find_next_suitable_point_via_Angle_of_Sphere(atom* a, atom* b, atom* c, atom* Candidate, atom* Parent, int RecursionLevel, Vector *Chord, Vector *direction1, Vector *OldNormal, Vector ReferencePoint, atom*& Opt_Candidate, double *Storage, const double RADIUS, molecule* mol);
    8996
    90     PointMap PointsOnBoundary;
    91     LineMap LinesOnBoundary;
    92     TriangleMap TrianglesOnBoundary;
    93     class BoundaryPointSet *TPS[3]; //this is a Storage for pointers to triangle points, this and BPS[2] needed due to AddLine restrictions
    94     class BoundaryPointSet *BPS[2];
    95     class BoundaryLineSet *BLS[3];
    96     class BoundaryTriangleSet *BTS;
    97     int PointsOnBoundaryCount;
    98     int LinesOnBoundaryCount;
    99     int TrianglesOnBoundaryCount;
    100     int TriangleFilesWritten;
     97                PointMap PointsOnBoundary;
     98                LineMap LinesOnBoundary;
     99                TriangleMap TrianglesOnBoundary;
     100                class BoundaryPointSet *TPS[3]; //this is a Storage for pointers to triangle points, this and BPS[2] needed due to AddLine restrictions
     101                class BoundaryPointSet *BPS[2];
     102                class BoundaryLineSet *BLS[3];
     103                class BoundaryTriangleSet *BTS;
     104                int PointsOnBoundaryCount;
     105                int LinesOnBoundaryCount;
     106                int TrianglesOnBoundaryCount;
     107                int TriangleFilesWritten;
    101108};
    102109
     
    107114
    108115
    109 double VolumeOfConvexEnvelope(ofstream *out, ofstream *tecplot, config *configuration, Boundaries *BoundaryPoints, molecule *mol);
     116double VolumeOfConvexEnvelope(ofstream *out, const char *filename, config *configuration, Boundaries *BoundaryPoints, molecule *mol);
    110117double * GetDiametersOfCluster(ofstream *out, Boundaries *BoundaryPtr, molecule *mol, bool IsAngstroem);
    111118void PrepareClustersinWater(ofstream *out, config *configuration, molecule *mol, double ClusterVolume, double celldensity);
    112 void Find_next_suitable_point(atom a, atom b, atom Candidate, int n, Vector *d1, Vector *d2, atom*& Opt_Candidate, double *Storage, const double RADIUS, molecule *mol, bool problem);
    113 void Find_non_convex_border(ofstream *out, const char *filename, molecule* mol);
     119void Find_non_convex_border(ofstream *out, molecule* mol, class Tesselation *T, class LinkedCell *LCList, const char *tempbasename, const double RADIUS);
     120void Find_next_suitable_point(class BoundaryTriangleSet *BaseTriangle, class BoundaryLineSet *BaseLine, atom*& OptCandidate, Vector *OptCandidateCenter, double *ShortestAngle, const double RADIUS, LinkedCell *LC);
    114121
    115122
Note: See TracChangeset for help on using the changeset viewer.