Changeset 5f612ee for src/tesselation.hpp
- Timestamp:
- Apr 27, 2010, 2:25:42 PM (16 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 632bc3
- Parents:
- 13d5a9 (diff), c695c9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
src/tesselation.hpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tesselation.hpp
r13d5a9 r5f612ee 43 43 #define DoTecplotOutput 1 44 44 #define DoRaster3DOutput 1 45 #define DoVRMLOutput 145 #define DoVRMLOutput 0 46 46 #define TecplotSuffix ".dat" 47 47 #define Raster3DSuffix ".r3d" … … 89 89 90 90 #define ListOfTesselPointList list<list <TesselPoint *> *> 91 92 enum centers {Opt, OtherOpt}; 91 93 92 94 /********************************************** declarations *******************************/ … … 249 251 public : 250 252 CandidateForTesselation(BoundaryLineSet* currentBaseLine); 251 CandidateForTesselation(TesselPoint* candidate, BoundaryLineSet* currentBaseLine, Vector OptCandidateCenter, Vector OtherOptCandidateCenter);253 CandidateForTesselation(TesselPoint* candidate, BoundaryLineSet* currentBaseLine, BoundaryPointSet *point, Vector OptCandidateCenter, Vector OtherOptCandidateCenter); 252 254 ~CandidateForTesselation(); 253 255 256 bool CheckValidity(const double RADIUS, const LinkedCell *LC) const; 257 254 258 TesselPointList pointlist; 255 BoundaryLineSet *BaseLine; 259 const BoundaryLineSet * BaseLine; 260 const BoundaryPointSet * ThirdPoint; 261 const BoundaryTriangleSet *T; 262 Vector OldCenter; 256 263 Vector OptCenter; 257 264 Vector OtherOptCenter; … … 274 281 void AddTesselationPoint(TesselPoint* Candidate, const int n); 275 282 void SetTesselationPoint(TesselPoint* Candidate, const int n) const; 276 void AddTesselationLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n); 277 void AlwaysAddTesselationTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n); 283 void AddTesselationLine(const Vector * const OptCenter, const BoundaryPointSet * const candidate, class BoundaryPointSet *a, class BoundaryPointSet *b, const int n); 284 void AddNewTesselationTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, const int n); 285 void AddExistingTesselationTriangleLine(class BoundaryLineSet *FindLine, int n); 278 286 void AddTesselationTriangle(); 279 287 void AddTesselationTriangle(const int nr); 280 void AddCandidateTriangle(CandidateForTesselation CandidateLine); 288 void AddCandidateTriangle(CandidateForTesselation &CandidateLine, enum centers type); 289 void AddDegeneratedTriangle(CandidateForTesselation &CandidateLine, const double RADIUS, const LinkedCell *LC); 290 void AddCandidatePolygon(CandidateForTesselation CandidateLine, const double RADIUS, const LinkedCell *LC); 281 291 void RemoveTesselationTriangle(class BoundaryTriangleSet *triangle); 282 292 void RemoveTesselationLine(class BoundaryLineSet *line); 283 293 void RemoveTesselationPoint(class BoundaryPointSet *point); 294 bool CheckDegeneracy(CandidateForTesselation &CandidateLine, const double RADIUS, const LinkedCell *LC) const; 284 295 285 296 286 297 // concave envelope 287 voidFindStartingTriangle(const double RADIUS, const LinkedCell *LC);298 bool FindStartingTriangle(const double RADIUS, const LinkedCell *LC); 288 299 void FindSecondPointForTesselation(class TesselPoint* a, Vector Oben, class TesselPoint*& OptCandidate, double Storage[3], double RADIUS, const LinkedCell *LC); 289 void FindThirdPointForTesselation(Vector &NormalVector, Vector &SearchDirection, Vector &OldSphereCenter, CandidateForTesselation &CandidateLine, const class TesselPoint * const ThirdNode, const double RADIUS, const LinkedCell *LC) const; 290 bool FindNextSuitableTriangle(CandidateForTesselation &CandidateLine, BoundaryTriangleSet &T, const double& RADIUS, const LinkedCell *LC); 300 void FindThirdPointForTesselation(const Vector &NormalVector, const Vector &SearchDirection, const Vector &OldSphereCenter, CandidateForTesselation &CandidateLine, const class BoundaryPointSet * const ThirdNode, const double RADIUS, const LinkedCell *LC) const; 301 bool FindNextSuitableTriangle(CandidateForTesselation &CandidateLine, const BoundaryTriangleSet &T, const double& RADIUS, const LinkedCell *LC); 302 bool FindCandidatesforOpenLines(const double RADIUS, const LinkedCell *&LCList); 291 303 int CheckPresenceOfTriangle(class TesselPoint *Candidates[3]) const; 292 304 class BoundaryTriangleSet * GetPresentTriangle(TesselPoint *Candidates[3]); … … 318 330 bool IsInnerPoint(const Vector &Point, const LinkedCell* const LC) const; 319 331 double GetDistanceSquaredToTriangle(const Vector &Point, const BoundaryTriangleSet* const triangle) const; 320 double GetDistanceSquaredToSurface(const Vector &Point, const LinkedCell* const LC) const; 332 double GetDistanceToSurface(const Vector &Point, const LinkedCell* const LC) const; 333 BoundaryTriangleSet * GetClosestTriangleOnSurface(const Vector &Point, const LinkedCell* const LC) const; 321 334 bool AddBoundaryPoint(TesselPoint * Walker, const int n); 322 335 DistanceToPointMap * FindClosestBoundaryPointsToVector(const Vector *x, const LinkedCell* LC) const; … … 362 375 363 376 //bool HasOtherBaselineBetterCandidate(const BoundaryLineSet * const BaseRay, const TesselPoint * const OptCandidate, double ShortestAngle, double RADIUS, const LinkedCell * const LC) const; 377 void FindDegeneratedCandidatesforOpenLines(TesselPoint * const Sprinter, const Vector * const OptCenter); 364 378 }; 365 379
Note:
See TracChangeset
for help on using the changeset viewer.
