Itasca C++ Interface
Loading...
Searching...
No Matches
igeomedge.h
Go to the documentation of this file.
1#pragma once
2
8#include "ilinktype.h"
9
10namespace itasca {
11 class IThing;
12}
13
14namespace itascaxd {
15 using namespace itasca;
16
17 class IGeomPoint;
18 class IGeomPoly;
19 class GeomBase;
20
23 class IGeomEdge {
24 public:
26 inline static const TType type_ = 0x4c815bcc;
27
29 virtual IThing * getIThing()=0;
31 virtual const IThing * getIThing() const=0;
32
34 virtual IGeomPoint * getPoint(uint32 end)=0;
36 virtual const IGeomPoint *getPoint(uint32 end) const=0;
39 virtual void setPoint(IGeomPoint *point,uint32 end)=0;
41 virtual bool isValid() const=0;
43 virtual bool isFake() const=0;
45 virtual DVect getCentroid() const=0;
47 virtual double getLength() const=0;
49 virtual DVect getDirection() const=0;
51 virtual DVect getVector() const=0;
53 virtual DVect getClosestPoint(const DVect &pos) const=0;
54
56 virtual CLinkType<IGeomEdge> getNext(uint32 end) const=0;
58 virtual LinkType<IGeomEdge> getNext(uint32 end)=0;
60 virtual CLinkType<IGeomPoly> getStart() const=0;
64 virtual int getPolyOrder() const=0;
66 virtual const GeomBase * getGeomBase() const=0;
68 virtual DVect convertToGlobal(double u) const =0;
70 virtual double convertToLocal(const DVect &pos) const =0;
71 };
72} // namespace itascaxd
73// EoF
Base class for items that will be stored in containers.
Definition ithing.h:31
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition igeomedge.h:23
virtual bool isFake() const =0
Returns true if the edge is fake meaning that the edge exists and valid but user should not be able t...
virtual IThing * getIThing()=0
Return an IThing interface for this object.
virtual DVect getDirection() const =0
Returns the unit vector from end 0 to end 1. Returns DVect(0) if not valid.
virtual const IGeomPoint * getPoint(uint32 end) const =0
Returns a pointer to the IGeomPoint associated with end 0 or 1. Returns 0 if end > 1....
virtual DVect getCentroid() const =0
Returns the centroid of the edge.
virtual LinkType< IGeomPoly > getStart()=0
Returns an interface to a LinkType<> object, a pointer to the first object in the linked list.
virtual DVect getVector() const =0
Returns the vector from end 0 to end 1. Return DVect(0) if not valid.
virtual LinkType< IGeomEdge > getNext(uint32 end)=0
Returns an interface to a LinkType<> object, a pointer to the next object in the linked list.
virtual DVect getClosestPoint(const DVect &pos) const =0
Returns the point on the edge closes to the point pos. Returns DVect(0) if not valid.
virtual CLinkType< IGeomPoly > getStart() const =0
Returns an interface to a CLinkType<> object, a const pointer to the first object in the linked list.
virtual DVect convertToGlobal(double u) const =0
Convert to global coordinate the point on edge. If u = 0.0 it will be position of point(0),...
virtual int getPolyOrder() const =0
Returns number of polygon faces attached.
virtual double convertToLocal(const DVect &pos) const =0
Convert o local edge coordinate.
virtual CLinkType< IGeomEdge > getNext(uint32 end) const =0
Returns an interface to a CLinkType<> object, a const pointer to the next object in the linked list.
virtual double getLength() const =0
Returns the distance between the two IGeomPoint objects, return 0.0 if not valid.
virtual const GeomBase * getGeomBase() const =0
Return const GeomBase.
virtual const IThing * getIThing() const =0
Return a const IThing interface for this object.
virtual void setPoint(IGeomPoint *point, uint32 end)=0
virtual bool isValid() const =0
Returns true if the edge is currently valid, that is if both ends (0 and 1) are assigned to a non-nul...
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition igeomedge.h:26
virtual IGeomPoint * getPoint(uint32 end)=0
Returns a pointer to the IGeomPoint associated with end 0 or 1. Returns 0 if end > 1....
Interface for a user-defined geometric point.
Definition igeompoint.h:18
uint32 TType
class type indicator
Definition basedef.h:47
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6