OpendTect-6_4  6.4
explplaneintersection.h
Go to the documentation of this file.
1 #ifndef explplaneintersection_h
2 #define explplaneintersection_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: May 2008
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "geometrymod.h"
16 #include "indexedshape.h"
17 #include "coord.h"
18 
19 class Plane3;
20 
21 namespace Geometry
22 {
23 
29  public CallBacker
30 {
31 public:
34 
35  int nrPlanes() const;
36  int planeID(int idx) const;
37  const Coord3& planeNormal(int id) const;
38  const TypeSet<Coord3>& planePolygon(int id) const;
39 
40  int addPlane(const Coord3& normal,
41  const TypeSet<Coord3>&);
42  bool setPlane(int id, const Coord3&,
43  const TypeSet<Coord3>&);
44  void removePlane(int id);
45 
46  void setShape(const IndexedShape&);
48  const IndexedShape* getShape() const;
49 
50 
51  bool needsUpdate() const;
52  bool update(bool forceall,TaskRunner*);
53  void removeAll(bool);
54 
55  void setZScale(float nz) { zscale_ = nz; }
56  float getZScale() const { return zscale_; }
57 
58  struct PlaneIntersection /*<based on per plane*/
59  {
60  bool operator==(const PlaneIntersection& n) const
61  { return conns_==n.conns_ && n.knots_==knots_; }
63  TypeSet<int> conns_; /*<based on knots_ only, -1 seperate*/
64  };
66 
67 protected:
68 
69  friend class ExplPlaneIntersectionExtractor;
70 
71  const IndexedShape* shape_;
74 
76 
80 
81  float zscale_;
83 };
84 
85 };
86 
87 #endif
#define mExpClass(module)
Definition: commondefs.h:160
Definition: indexedshape.h:182
To be able to send and/or receive CallBacks, inherit from this class.
Definition: callback.h:272
bool needsupdate_
Definition: explplaneintersection.h:73
bool operator==(const PlaneIntersection &n) const
Definition: explplaneintersection.h:60
TypeSet< Coord3 > knots_
Definition: explplaneintersection.h:62
TypeSet< int > conns_
Definition: explplaneintersection.h:63
TypeSet< PlaneIntersection > pis_
Definition: explplaneintersection.h:82
ObjectSet< TypeSet< Coord3 > > planepts_
Definition: explplaneintersection.h:78
Definition: indexedshape.h:126
TypeSet< Coord3 > planenormals_
Definition: explplaneintersection.h:79
A Plane3 is a plane in space, with the equation: Ax + By + Cz + D = 0.
Definition: trigonometry.h:484
Definition: explplaneintersection.h:28
Definition: explplaneintersection.h:58
void setZScale(float nz)
Definition: explplaneintersection.h:55
IndexedGeometry * intersection_
Definition: explplaneintersection.h:75
Set of pointers to objects.
Definition: commontypes.h:32
const IndexedShape * shape_
Definition: explplaneintersection.h:71
void removeAll()
Class that can execute a task.
Definition: task.h:169
const TypeSet< PlaneIntersection > & getPlaneIntersections()
Definition: explplaneintersection.h:65
A cartesian coordinate in 3D space.
Definition: coord.h:72
float getZScale() const
Definition: explplaneintersection.h:56
int shapeversion_
Definition: explplaneintersection.h:72
TypeSet< int > planeids_
Definition: explplaneintersection.h:77
float zscale_
Definition: explplaneintersection.h:81
Definition: arraytesselator.h:21

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019