Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
igeomedge.h
Go to the documentation of this file.
1 #pragma once
2 
8 #include "base/src/baseqt.h"
9 #include "ilinktype.h"
10 
11 namespace itasca {
12  class IThing;
13 }
14 
15 namespace itascaxd {
16  using namespace itasca;
17 
18  class IGeomPoint;
19  class IGeomPoly;
20  class GeomBase;
21 
24  class IGeomEdge {
25  public:
27  inline static const TType type_ = 0x4c815bcc;
28 
30  virtual IThing * getIThing()=0;
32  virtual const IThing * getIThing() const=0;
33 
35  virtual IGeomPoint * getPoint(quint32 end)=0;
37  virtual const IGeomPoint *getPoint(quint32 end) const=0;
40  virtual void setPoint(IGeomPoint *point,quint32 end)=0;
42  virtual bool isValid() const=0;
44  virtual bool isFake() const=0;
46  virtual double getLength() const=0;
48  virtual DVect getDirection() const=0;
50  virtual DVect getVector() const=0;
52  virtual DVect getClosestPoint(const DVect &pos) const=0;
53 
55  virtual CLinkType<IGeomEdge> getNext(quint32 end) const=0;
57  virtual LinkType<IGeomEdge> getNext(quint32 end)=0;
59  virtual CLinkType<IGeomPoly> getStart() const=0;
61  virtual LinkType<IGeomPoly> getStart()=0;
63  virtual int getPolyOrder() const=0;
65  virtual const GeomBase * getGeomBase() const=0;
67  virtual DVect convertToGlobal(double u) const =0;
69  virtual double convertToLocal(const DVect &pos) const =0;
70  };
71 } // namespace itascaxd
72 // EoF
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface for a user-defined geometric point.
Definition: igeompoint.h:18
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition: igeomedge.h:24
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
All default base headers if Qt is being used.