BALL  1.4.1
triangleEdge.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_STRUCTURE_TRIANGLEEDGE_H
00006 #define BALL_STRUCTURE_TRIANGLEEDGE_H
00007 
00008 #ifndef BALL_STRUCTURE_GRAPHEDGE_H
00009 # include <BALL/STRUCTURE/graphEdge.h>
00010 #endif
00011 
00012 #ifndef BALL_STRUCTURE_GRAPHFACE_H
00013 # include <BALL/STRUCTURE/graphFace.h>
00014 #endif
00015 
00016 #ifndef BALL_STRUCTURE_GRAPHVERTEX_H
00017 # include <BALL/STRUCTURE/graphVertex.h>
00018 #endif
00019 
00020 
00021 namespace BALL
00022 {
00023 
00024   class Triangle;
00025   class TrianglePoint;
00026   class TriangulatedSurface;
00027   class TriangulatedSphere;
00028   class TriangulatedSES;
00029   class TriangulatedSAS;
00030   class SESTriangulator;
00031   class SASTriangulator;
00032 
00033 
00037   class BALL_EXPORT TriangleEdge
00038       : public GraphEdge< TrianglePoint,TriangleEdge,Triangle >
00039   {
00040     
00041     public:
00042 
00055     friend class Triangle;
00056     friend class TrianglePoint;
00057     friend class TriangulatedSurface;
00058     friend class TriangulatedSphere;
00059     friend class TriangulatedSES;
00060     friend class TriangulatedSAS;
00061     friend class SESTriangulator;
00062     friend class SASTriangulator;
00063 
00064     BALL_CREATE(TriangleEdge)
00065 
00066     
00069 
00073     TriangleEdge();
00074 
00080     TriangleEdge(TrianglePoint* v1, TrianglePoint* v2);
00081 
00089     TriangleEdge(const TriangleEdge& edge, bool deep = false);
00090 
00094     virtual ~TriangleEdge();
00096 
00100 
00105     void setPoint(Position i, TrianglePoint* point);
00106 
00112     TrianglePoint* getPoint(Position i) const;
00113 
00119     void setTriangle(Position i, Triangle* triangle);
00120 
00126     Triangle* getTriangle(Position i) const;
00127 
00129 
00133 
00138     virtual bool operator == (const TriangleEdge&) const;
00139 
00144     virtual bool operator != (const TriangleEdge&) const;
00145 
00149     virtual bool operator *= (const TriangleEdge&) const;
00150 
00152 
00153   };
00154 
00155 
00159 
00162   BALL_EXPORT std::ostream& operator << (std::ostream& s, const TriangleEdge& edge);
00163 
00165 
00166 
00167 } // namespace BALL
00168 
00169 
00170 #endif  // BALL_STRUCTURE_TRIANGLEEDGE_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines