Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
irangeelementtype.h
Go to the documentation of this file.
1 #pragma once
2 
8 // A short description precedes each, and generally the access functions
9 // are self-explanatory.
10 
11 #include "base/src/baseqt.h"
12 #include "module/interface/dim.h"
14 
15 
16 namespace itascaxd {
18 
22  class IRangeElementSphere { // name = "sphere"
23  public:
25  inline static const TType type_ = 0x4c815bad;
27  virtual DVect getCenter() const=0;
29  virtual double getRadius1() const=0;
31  virtual double getRadius2() const=0;
33  virtual bool isAnnulus() const=0;
35  virtual void setCenter(const DVect &)=0;
37  virtual void setRadius1(const double &d)=0;
39  virtual void setRadius2(const double &d)=0;
41  virtual IRangeElement *getIRangeElement()=0;
42 
43  // SIGNALS
45  virtual void centerChanged(const DVect &center)=0;
47  //virtual void radius1Changed(const double &rad1)=0;
49  //virtual void radius2Changed(const double &rad2)=0;
50  };
51 
53 
56  class IRangeElementCylinder { // name = "cylinder"
57  public:
59  inline static const TType type_ = 0x4c815baf;
61  virtual DVect getBegin() const=0;
63  virtual DVect getEnd() const=0;
65  virtual double getRadius1() const=0;
67  virtual double getRadius2() const=0;
69  virtual void setBegin(const DVect &v)=0;
71  virtual void setEnd(const DVect &v)=0;
73  virtual void setRadius(const double &d1,const double &d2)=0;
75  virtual IRangeElement *getIRangeElement()=0;
76 
77  // SIGNALS
79  virtual void beginChanged(const DVect &dv)=0;
81  virtual void endChanged(const DVect &dv)=0;
83  virtual void radius1Changed(const double &r1)=0;
85  virtual void radius2Changed(const double &r2)=0;
86  };
87 
89 
92  class IRangeElementPosition { // name = "box"
93  public:
95  inline static const TType type_ = 0x57222304;
97  virtual DVect getLowerBound() const=0;
99  virtual DVect getUpperBound() const=0;
101  virtual DVect getTolerance() const=0;
103  virtual DVect getCenter() const=0;
105  virtual void setLowerBound(const DVect &v)=0;
107  virtual void setUpperBound(const DVect &v)=0;
109  virtual void setTolerance(const DVect &v)=0;
111  virtual void setCenter(const DVect &v)=0;
113  virtual IRangeElement *getIRangeElement()=0;
114 
115  // SIGNALS
117  virtual void lowerBoundChanged(const DVect &dv)=0;
119  virtual void upperBoundChanged(const DVect &dv)=0;
121  virtual void toleranceChanged(const DVect &dv)=0;
123  virtual void centerChanged(const DVect &dv)=0;
124  };
125 
128  class IRangeElementPlane { // name = "plane"
129  public:
131  inline static const TType type_ = 0x4c815bb1;
133  enum Kind {
134  kAbove=0,
135  kBelow=1,
136  kDist=2
137  };
139  virtual Orientation getOrientation() const=0;
141  virtual DVect getOrigin() const=0;
143  virtual Kind getKind() const=0;
145  virtual double getDistance() const=0;
147  virtual void setOrientation(const Orientation &o)=0;
149  virtual void setOrigin(const DVect &o)=0;
151  virtual void setKind(Kind k)=0;
153  virtual void setDistance(const double &d)=0;
154  // SIGNALS
156  virtual void normalChanged(const DVect &normal)=0;
158  virtual void originChanged(const DVect &origin)=0;
160  virtual void kindChanged(int kind)=0;
162  virtual void distanceChanged(const double &dis)=0;
163  };
164 
166 
169  class IRangeElementNamed { // name = "named"
171  public:
173  inline static const TType type_ = 0x4c815bb3;
175  virtual QString getFilterName() const=0;
177  virtual void setFilterName(const QString &s)=0;
178 
179  //SIGNALS
181  virtual void nameChanged(const QString &s)=0;
182  };
183 } // namespace itascaxd
184 // EoF
virtual DVect getLowerBound() const =0
Returns the lower bound.
virtual void distanceChanged(const double &dis)=0
Signal emitted when the plane distance has changed, see setDistance()
Interface to a filter element, which is a member of a IRange.
virtual void setKind(Kind k)=0
Sets where the object will be located related to plane, above, below, within a given distance,...
virtual void setEnd(const DVect &v)=0
Sets the central point where the cylinder ends.
virtual void setDistance(const double &d)=0
Sets the object distance to the filter.
virtual double getRadius2() const =0
Returns the spherical (outer) radius, , see setRadius2()
virtual void setRadius2(const double &d)=0
Sets the spherical (outer) radius.
A filter element specified as a geometric region inside an axis aligned box.
Definition: irangeelementtype.h:92
virtual void lowerBoundChanged(const DVect &dv)=0
Signal emitted when the lower bound has changed.
virtual bool isAnnulus() const =0
Returns true if object represents an spherical annulus, , see setRadius1()
virtual void setUpperBound(const DVect &v)=0
Sets the upper bound.
virtual void setOrigin(const DVect &o)=0
Sets the plane origin.
virtual void beginChanged(const DVect &dv)=0
Signal emitted when the central point where the cylinder starts has changed.
virtual DVect getUpperBound() const =0
Returns the upper bound.
virtual void setCenter(const DVect &)=0
Sets the sphere center.
DIM - Provides code portability between 2D and 3D codes.
virtual Orientation getOrientation() const =0
Returns the plane Orientation, see setOrientation()
virtual double getDistance() const =0
Returns the object distance from the filter.
Definition: irangeelementtype.h:135
virtual void setCenter(const DVect &v)=0
Sets the center.
virtual void setRadius1(const double &d)=0
Sets the spherical annulus inner radius.
Interface to a filter element, which is a member of a IRange..
Definition: irangeelement.h:18
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: irangeelementtype.h:173
virtual DVect getOrigin() const =0
Returns the plane origin, see setOrigin()
virtual DVect getTolerance() const =0
Returns the tolerance.
virtual void setBegin(const DVect &v)=0
Sets the central point where the cylinder starts.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: irangeelementtype.h:25
virtual void setLowerBound(const DVect &v)=0
Sets the lower bound.
virtual IRangeElement * getIRangeElement()=0
Returns a pointer to the IRangeElement object.
virtual void setTolerance(const DVect &v)=0
Sets the tolernace.
virtual void centerChanged(const DVect &dv)=0
Signal emitted when the center bound has changed.
Definition: irangeelementtype.h:136
Class for storing an "orientation", or a direction in 2D or 3D space.
Definition: orientation.h:94
virtual double getRadius1() const =0
Returns the spherical annulus inner radius, see setRadius1()
A filter element described as a sphere in space.
Definition: irangeelementtype.h:22
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual void nameChanged(const QString &s)=0
Signal emitted when the name of the filter element has changed, see setFilterName()
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: irangeelementtype.h:131
virtual void upperBoundChanged(const DVect &dv)=0
Signal emitted when the upper bound has changed.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: irangeelementtype.h:95
virtual void radius1Changed(const double &r1)=0
Signal emitted when the inner cylinder radius has changed.
virtual void radius2Changed(const double &r2)=0
Signal emitted when the (outer) cylinder radius has changed.
virtual void centerChanged(const DVect &center)=0
Signal emittted when the center of the sphere has changed, , see setCenter()
virtual double getRadius2() const =0
Returns the cylinder radius, see setRadius2()
A filter element specified as a geometric region inside a capped cylinder, defined by a segment [begi...
Definition: irangeelementtype.h:56
virtual void endChanged(const DVect &dv)=0
Signal emitted when the central point where the cylinder ends has changed.
virtual void setRadius(const double &d1, const double &d2)=0
Sets the cylinder radii. For a cylindrical annulus, d1 must be greater than zero and less than d2.
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
virtual DVect getCenter() const =0
Returns the center.
Definition: irangeelementtype.h:134
virtual IRangeElement * getIRangeElement()=0
Returns a pointer to the IRangeElement object.
Interface to a RangeElement of a plane in space, where you want objects above, below,...
Definition: irangeelementtype.h:128
virtual void setFilterName(const QString &s)=0
Sets the name of the named filter element.
virtual double getRadius1() const =0
Returns the inner radius of a cylindrical annulus, see setRadius1()
virtual IRangeElement * getIRangeElement()=0
Returns a pointer to the IRangeElement object.
virtual void toleranceChanged(const DVect &dv)=0
Signal emitted when the tolerance has changed.
virtual DVect getCenter() const =0
Returns the sphere center, see setCenter.
virtual void originChanged(const DVect &origin)=0
Signal emitted when the plane origin has changed, see setOrigin()
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
virtual void kindChanged(int kind)=0
Signal emitted when the objecte location related to the plane has changed, see setKind()
virtual Kind getKind() const =0
Returns if the objects should be above, below, or within a certain distance of the filter,...
virtual void normalChanged(const DVect &normal)=0
Signal emitted when the plane orientation has changed, see setOrientation()
virtual QString getFilterName() const =0
Returns the name of the named filter element.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: irangeelementtype.h:59
virtual void setOrientation(const Orientation &o)=0
Sets the plane Orientation.
virtual DVect getBegin() const =0
Returns the central point where the cylinder starts, see setBegin()
Kind
Possible object location.
Definition: irangeelementtype.h:133
All default base headers if Qt is being used.
virtual DVect getEnd() const =0
Returns the central point where the cylinder ends, see setEnd()