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

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