source: src/Tesselation/triangleintersectionlist.hpp

Candidate_v1.6.1
Last change on this file 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.