OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "geometrymod.h"
15 #include "indexedshape.h"
16 #include "coord.h"
17 
18 class Plane3;
19 
20 namespace Geometry
21 {
22 
28  public CallBacker
29 {
30 public:
33 
34  int nrPlanes() const;
35  int planeID(int idx) const;
36  const Coord3& planeNormal(int id) const;
37  const TypeSet<Coord3>& planePolygon(int id) const;
38 
39  int addPlane(const Coord3& normal,
40  const TypeSet<Coord3>&);
41  bool setPlane(int id, const Coord3&,
42  const TypeSet<Coord3>&);
43  void removePlane(int id);
44 
45  void setShape(const IndexedShape&);
47  const IndexedShape* getShape() const;
48 
49 
50  bool needsUpdate() const;
51  bool update(bool forceall,TaskRunner*);
52  void removeAll(bool);
53 
54  void setZScale(float nz) { zscale_ = nz; }
55  float getZScale() const { return zscale_; }
56 
57  struct PlaneIntersection /*<based on per plane*/
58  {
59  bool operator==(const PlaneIntersection& n) const
60  { return conns_==n.conns_ && n.knots_==knots_; }
62  TypeSet<int> conns_; /*<based on knots_ only, -1 seperate*/
63  };
65 
66 protected:
67 
68  friend class ExplPlaneIntersectionExtractor;
69 
73 
75 
79 
80  float zscale_;
82 };
83 
84 };
85 
Geometry::ExplPlaneIntersection::removeAll
void removeAll(bool)
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Geometry::ExplPlaneIntersection::pis_
TypeSet< PlaneIntersection > pis_
Definition: explplaneintersection.h:81
Geometry::ExplPlaneIntersection::zscale_
float zscale_
Definition: explplaneintersection.h:80
Geometry::ExplPlaneIntersection::PlaneIntersection
Definition: explplaneintersection.h:58
Geometry::ExplPlaneIntersection::nrPlanes
int nrPlanes() const
Geometry::ExplPlaneIntersection::getZScale
float getZScale() const
Definition: explplaneintersection.h:55
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Geometry
Definition: arraytesselator.h:21
Geometry::IndexedGeometry
Definition: indexedshape.h:126
Geometry::ExplPlaneIntersection::PlaneIntersection::conns_
TypeSet< int > conns_
Definition: explplaneintersection.h:62
Geometry::IndexedShape
Definition: indexedshape.h:182
Geometry::ExplPlaneIntersection::addPlane
int addPlane(const Coord3 &normal, const TypeSet< Coord3 > &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Geometry::ExplPlaneIntersection::update
bool update(bool forceall, TaskRunner *)
Geometry::ExplPlaneIntersection::planeID
int planeID(int idx) const
Geometry::ExplPlaneIntersection::planepts_
ObjectSet< TypeSet< Coord3 > > planepts_
Definition: explplaneintersection.h:77
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Geometry::ExplPlaneIntersection::planePolygon
const TypeSet< Coord3 > & planePolygon(int id) const
Geometry::ExplPlaneIntersection::needsupdate_
bool needsupdate_
Definition: explplaneintersection.h:72
Geometry::ExplPlaneIntersection::planenormals_
TypeSet< Coord3 > planenormals_
Definition: explplaneintersection.h:78
Geometry::ExplPlaneIntersection::intersection_
IndexedGeometry * intersection_
Definition: explplaneintersection.h:74
Geometry::ExplPlaneIntersection
Definition: explplaneintersection.h:29
Geometry::ExplPlaneIntersection::shape_
const IndexedShape * shape_
Definition: explplaneintersection.h:70
indexedshape.h
Geometry::ExplPlaneIntersection::shapeversion_
int shapeversion_
Definition: explplaneintersection.h:71
Geometry::ExplPlaneIntersection::setZScale
void setZScale(float nz)
Definition: explplaneintersection.h:54
TaskRunner
Class that can execute a task.
Definition: task.h:170
Geometry::ExplPlaneIntersection::planeids_
TypeSet< int > planeids_
Definition: explplaneintersection.h:76
Geometry::ExplPlaneIntersection::PlaneIntersection::knots_
TypeSet< Coord3 > knots_
Definition: explplaneintersection.h:61
Plane3
A Plane3 is a plane in space, with the equation: Ax + By + Cz + D = 0.
Definition: trigonometry.h:484
Geometry::ExplPlaneIntersection::removePlane
void removePlane(int id)
Geometry::ExplPlaneIntersection::setPlane
bool setPlane(int id, const Coord3 &, const TypeSet< Coord3 > &)
Geometry::ExplPlaneIntersection::getPlaneIntersections
const TypeSet< PlaneIntersection > & getPlaneIntersections()
Definition: explplaneintersection.h:64
Geometry::ExplPlaneIntersection::planeNormal
const Coord3 & planeNormal(int id) const
Geometry::ExplPlaneIntersection::needsUpdate
bool needsUpdate() const
Geometry::ExplPlaneIntersection::getShape
const IndexedShape * getShape() const
Geometry::ExplPlaneIntersection::PlaneIntersection::operator==
bool operator==(const PlaneIntersection &n) const
Definition: explplaneintersection.h:59
Geometry::ExplPlaneIntersection::~ExplPlaneIntersection
~ExplPlaneIntersection()
Geometry::ExplPlaneIntersection::ExplPlaneIntersection
ExplPlaneIntersection()
Geometry::ExplPlaneIntersection::setShape
void setShape(const IndexedShape &)
TypeSet< Coord3 >
coord.h

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