140 virtual void rotate(
const double & ,
const double & ,
const double & )
144 virtual void translate(
const double & ,
const double & ,
const double & )
148 virtual void scale(
const double & ,
const double & ,
const double & )
158 const double &
x2b,
const double &
x3b);
160 const double &
x2b,
const double &
x3b);
162 const double &
x1b,
const double &
x2b,
const double &
x3b);
164 const double & ,
const double & ,
const double & )
169 virtual bool isInsideCell(
const double &minX1,
const double &minX2,
const double &minX3,
const double &maxX1,
170 const double &maxX2,
const double &maxX3);
177 throw UbException(
"GbObject3D::addSurfaceTriangleSet - not implemented for " +
178 (std::string)
typeid(*this).name());
186 const double & ,
const double & ,
const double & )
188 throw UbException(
"GbObject3D::getIntersectionRaytraceFactor - not implemented");
This Class provides basic 3D line objects.
This Interface provides basic 3D geometry objects methods.
virtual double getX1Maximum()=0
virtual void translate(const double &, const double &, const double &)
virtual bool raytracingSupportsPointsInside()
virtual double getX2Centroid()=0
virtual bool isPointInGbObject3D(const double &x1, const double &x2, const double &x3)=0
virtual void finalize()=0
virtual void setCenterX1Coordinate(const double &)
virtual void setCenterCoordinates(const double &, const double &, const double &)
virtual void rotate(const double &, const double &, const double &)
virtual double getX3Minimum()=0
virtual void scale(const double &, const double &, const double &)
virtual double getIntersectionRaytraceFactor(const double &, const double &, const double &, const double &, const double &, const double &)
virtual bool isPointInGbObject3D(const double &x1, const double &x2, const double &x3, bool &pointIsOnBoundary)=0
virtual double getX1Centroid()=0
virtual void setCenterX3Coordinate(const double &)
virtual double getCellVolumeInsideGbObject3D(const double &, const double &, const double &, const double &, const double &, const double &)
virtual ~GbObject3D()=default
virtual GbLine3D * createClippedLine3D(GbPoint3D &point1, GbPoint3D &point2)=0
virtual std::vector< GbTriangle3D * > getSurfaceTriangleSet()=0
virtual double getX2Minimum()=0
virtual void setCenterX2Coordinate(const double &)
virtual double getX2Maximum()=0
virtual void setCenterCoordinates(const UbTupleDouble3 &)
virtual bool hasRaytracing()
virtual double getX1Minimum()=0
virtual void addSurfaceTriangleSet(std::vector< UbTupleFloat3 > &, std::vector< UbTupleInt3 > &)
virtual double getX3Centroid()=0
virtual double getX3Maximum()=0
This Class provides basic 3D point objects.
This Class provides basic 3D triangle objects.
A class implements a tuple.
std::shared_ptr< T > SPtr
virtual bool isCellInsideGbObject3D(const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)
virtual bool isPointInGbObject3D(GbPoint3D *p)
virtual bool isCellCuttingGbObject3D(const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)
virtual bool isInsideCell(const double &minX1, const double &minX2, const double &minX3, const double &maxX1, const double &maxX2, const double &maxX3)
virtual bool isCellInsideOrCuttingGbObject3D(const double &x1a, const double &x2a, const double &x3a, const double &x1b, const double &x2b, const double &x3b)