source: src/Tesselation/triangleintersectionlist.hpp@ 4464ef

Action_Thermostats Add_AtomRandomPerturbation Add_RotateAroundBondAction Add_SelectAtomByNameAction Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_StructOpt_integration_tests Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_ChronosMutex Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion GeometryObjects Gui_displays_atomic_force_velocity IndependentFragmentGrids_IntegrationTest JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks RotateToPrincipalAxisSystem_UndoRedo StoppableMakroAction Subpackage_levmar Subpackage_vmg ThirdParty_MPQC_rebuilt_buildsystem TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps Ubuntu_1604_changes stable
Last change on this file since 4464ef was 955b91, checked in by Frederik Heber <heber@…>, 13 years ago

FIX: Removed using namespace std in Vector.hpp.

  • this caused some follow-up problems in other LinearAlgebra modules,
mostly stuff from iostream not having std
prefix then.
this also caused more of them in MoleCuilder modules, mostly due to string,
stringstream, and numeric_limits with std
prefix.
  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*
2 * TriangleIntersectionList.hpp
3 *
4 * Created on: Mar 1, 2010
5 * Author: heber
6 */
7
8#ifndef TRIANGLEINTERSECTIONLIST_HPP_
9#define TRIANGLEINTERSECTIONLIST_HPP_
10
11using namespace std;
12
13/*********************************************** includes ***********************************/
14
15// include config.h
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include <map>
21
22/****************************************** forward declarations *****************************/
23
24class BoundaryTriangleSet;
25class LinkedCell_deprecated;
26class Tesselation;
27class Vector;
28
29/********************************************** definitions *********************************/
30
31#define TriangleVectorMap std::map < class BoundaryTriangleSet *, Vector *>
32#define DistanceTriangleMap std::multimap < double, class BoundaryTriangleSet *>
33
34// ======================================================== class TriangleIntersectionList =======================================
35
36/** Stores all intersection vectors to a list of triangles.
37 */
38class TriangleIntersectionList
39{
40public:
41 TriangleIntersectionList(const Vector &x, const Tesselation *surface, const LinkedCell_deprecated* LC);
42 ~TriangleIntersectionList();
43
44 double GetSmallestDistance() const;
45 Vector GetClosestIntersection() const;
46 BoundaryTriangleSet * GetClosestTriangle() const;
47 bool IsInside() const;
48
49private:
50 void GatherIntersectionsWithTriangles();
51 TriangleVectorMap::const_iterator GetIteratortoSmallestDistance() const;
52 void FillDistanceList() const;
53
54 const Vector &Point;
55 const Tesselation *Tess;
56 const LinkedCell_deprecated *Vicinity;
57 TriangleVectorMap IntersectionList;
58 mutable DistanceTriangleMap DistanceList;
59};
60
61#endif /* TRIANGLEINTERSECTIONLIST_HPP_ */
Note: See TracBrowser for help on using the repository browser.