![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
Go to the documentation of this file. 1 #ifndef _UTIL_GEOM_DTK_HPP_
2 #define _UTIL_GEOM_DTK_HPP_
445 void _Copy(
const Dtk_Line& inLineToCopy);
517 void _Copy(
const Dtk_Conic& inConicToCopy);
1723 Dtk_Handle *_Private;
1730 Dtk_MeshSurface(
const std::vector<Dtk_pnt>& inP,
const std::vector<Dtk_UInt32>& index );
1731 Dtk_MeshSurface(
const std::vector<Dtk_pnt>& inP,
const std::vector<Dtk_UInt32>& index,
const std::vector<Dtk_dir>& inD,
const std::vector<Dtk_UInt32>& aindex );
1766 static Dtk_MeshSurfacePtr Create(
const std::vector<Dtk_pnt>& inP,
const std::vector<Dtk_UInt32>& index,
const std::vector<Dtk_dir>& inD,
const std::vector<Dtk_UInt32>& aindex );
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:962
int DtkDynamicType(const int &inId)
virtual ~Dtk_Polyline()
Default destructor.
virtual void Reverse()=0
Reverse Curve.
type_detk get_type_detk() const
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
Dtk_Double64 GetFocalDistance() const
static Dtk_EllipsePtr Create(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inRadius)
Dtk_pnt & Point(const Dtk_Size_t &inIndex)
virtual Dtk_bool IsVPeriodic() const
Return DTK_TRUE If Periodic following V parameter.
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
const Dtk_dir & GetZDirection() const
int DtkDynamicType(const int &inId)
Dtk_dir GetNormal() const
@ _typeID
Definition: util_geom_dtk.hpp:429
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
static Dtk_ToroidalSurfacePtr Create(const Dtk_ToroidalSurface &inSurfToCopy)
virtual Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
Compute Bounding Box.
const Dtk_dir & GetNormalDirection() const
Get Normal vector of Conic (inNormal on schema)
void SetIsVPeriodic(Dtk_bool inPeriodicFlag)
Dtk_Size_t GetNumAdjacentCurves() const
@ _typeID
Definition: util_geom_dtk.hpp:1023
virtual ~Dtk_NurbsSurface()
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
static Dtk_CylindricalSurface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_bool IsPeriodic() const
return DTK_TRUE if nurbs is periodic
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
Dtk_Line(const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
constructor
virtual Dtk_Size_t GetSize() const
virtual ~Dtk_OffsetSurface()
Dtk_Curve(const Dtk_Curve &s)
Dtk_dir GetYDirection() const
Give Y Direction (Axis Placement can be indirect )
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_ErrorStatus ComputeUPointDir(const Dtk_Double64 &inU, Dtk_pnt &outPoint, Dtk_dir &outDir) const
Compute point and dir on U parameter.
This is the Revolution Surface Class. U parametrisation : revolved curve parametrisation V parametris...
Definition: util_geom_dtk.hpp:1105
This is the Spherical Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or ...
Definition: util_geom_dtk.hpp:1487
@ DTK_TYPE_MESH_SURFACE
Definition: define.h:611
Dtk_ErrorStatus Reparam(const Dtk_Double64 &inUmin, const Dtk_Double64 &inUmax)
Set Curve parametrisation domain.
type_detk get_type_detk() const
type_detk get_type_detk() const
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
No parametrisation.
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
No parametrisation.
This is the Conical Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or in...
Definition: util_geom_dtk.hpp:1365
@ _typeID
Definition: util_geom_dtk.hpp:91
virtual Dtk_Size_t GetSize() const
Dtk_ErrorStatus _KnotInsertion(const Dtk_Double64 &inUparameter, const Dtk_Size_t &inOccurence, Dtk_Double64 inTolerance=DTK_TOLERANCE)
type_detk GetTypeBeforeConversion() const
static Dtk_ToroidalSurface * DtkDynamicCast(Dtk_Object *s)
static Dtk_RuledSurfacePtr Create(const Dtk_CurvePtr &inFirstCurve, const Dtk_CurvePtr &inSecondCurve)
Create Dtk_RuledSurface between two curves.
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
virtual Dtk_ErrorStatus _Store(void *)
const Dtk_pnt & GetAxisPosition() const
Get origin
virtual Dtk_Size_t GetSize() const
Dtk_NurbsSurface(const Dtk_NurbsSurface &inSurfaceToCopy)
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform Conic
void SetIsUPeriodic(Dtk_bool inPeriodicFlag)
Dtk_Size_t GetNumPointsV() const
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 u, int inUdiff, Dtk_dir &outdir, int exttype) const
virtual Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
Compute Bounding Box.
Dtk_Double64 GetWeight(const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex) const
virtual Dtk_NurbsCurvePtr ToNurbs() const
Convert Curve to nurbs.
type_detk get_type_detk() const
static Dtk_LinearExtrusionSurfacePtr Create(const Dtk_LinearExtrusionSurface &inSurfToCopy)
Dtk_NurbsSurface(const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnots, const Dtk_tab< Dtk_Double64 > &inVKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
static Dtk_ToroidalSurfacePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius, const Dtk_dir &inYDir=Dtk_dir())
Create Dtk_ToroidalSurface.
@ _typeID
Definition: util_geom_dtk.hpp:507
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
static Dtk_PlaneSurfacePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_dir &inVDirection=Dtk_dir())
Create an infinite plane surface.
#define DTK_TOLERANCE
Definition: str_def.h:7
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int extendtype) const
virtual Dtk_Size_t GetSize() const
static Dtk_MeshSurfacePtr Create(const std::vector< Dtk_pnt > &inP, const std::vector< Dtk_UInt32 > &index)
Dtk_Double64 GetSemiImageAxis() const
static Dtk_LinePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inDirection)
Dtk_Ellipse(const Dtk_Ellipse &inEllipseToCopy)
@ DTK_TYPE_CONIC
Definition: define.h:59
Dtk_NurbsSurfacePtr ForceG1Continuity(Dtk_Double64 tolerance_to_remove=0.0005) const
Dtk_Polyline(const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
constructor
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1257
@ _typeID
Definition: util_geom_dtk.hpp:1253
Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1432
static Dtk_NurbsCurvePtr Create(const Dtk_NurbsCurvePtr &s, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities)
static Dtk_NurbsSurfacePtr Create(const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnots, const Dtk_tab< Dtk_Double64 > &inVKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
Dtk_ErrorStatus SetTrimUVBox(Dtk_Double64 inDomain[])
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = in...
virtual Dtk_NurbsCurvePtr ToNurbs() const =0
Convert Curve to nurbs.
@ _typeID
Definition: util_geom_dtk.hpp:694
Dtk_UInt32 GetUKnotMultiplicity(const Dtk_Size_t &inIndex) const
virtual Dtk_ErrorStatus SetTrimmingParameters(const Dtk_Double64 &inUmin, const Dtk_Double64 &inUmax)
Set Trim parameter for curve.
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Dtk_dir GetVDirection() const
@ _typeID
Definition: util_geom_dtk.hpp:641
void SetTrimPoints(const Dtk_pnt &inStartPoint, const Dtk_pnt &inEndPoint)
Set Trim points for curve.
virtual void Normalize()
Normalize Curve.
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_ErrorStatus ComputeVDerivative(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outdir) const
virtual Dtk_Size_t GetSize() const
virtual Dtk_ErrorStatus _Store(void *)
@ _typeID
Definition: util_geom_dtk.hpp:1194
static Dtk_LinearExtrusionSurface * DtkDynamicCast(Dtk_Object *s)
const Dtk_dir & GetXDirection() const
Give U origin for parametrisation.
int DtkDynamicType(const int &inId)
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const =0
Convert Curve to polyline.
virtual Dtk_bool IsUPeriodic() const
Return DTK_TRUE If Periodic following U parameter.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:22
virtual ~Dtk_FilletSurface()
static Dtk_NurbsCurvePtr Create(const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >())
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const =0
Compute point on U parameter.
@ _typeID
Definition: util_geom_dtk.hpp:1491
static Dtk_Line * DtkDynamicCast(Dtk_Object *inObjectToCast)
virtual Dtk_Size_t GetSize() const
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_UInt32 GetUDegree() const
Dtk_ErrorStatus Split(Dtk_Double64 inTrimDom[2], Dtk_Double64 inTolerance=DTK_TOLERANCE)
void DeleteCorrespondingNurbs()
Dtk_Line()
Default constructor.
Dtk_SurfacePtr ComputeOffsetedSurface()
Compute the result Surface with the offset applied. For some surfaces, their type can be conserved,...
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:619
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1615
Dtk_CylindricalSurface(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_dir &inYDirection, const Dtk_Double64 &inRadius)
@ DTK_TYPE_POLYLINE
Definition: define.h:58
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const =0
Compute U parameter from point.
Dtk_dir GetZDirection() const
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
@ DTK_TYPE_SPHERICAL_SURFACE
Definition: define.h:95
void AddPoint(const Dtk_Double64 &inX, const Dtk_Double64 &inY, const Dtk_Double64 &inZ=0.0)
Dtk_Double64 GetRadius() const
Get Radius at origin.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Dtk_Double64 * GetUnpackedUKnot() const
static Dtk_SphericalSurfacePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_Double64 &inRadius, const Dtk_dir &inYDir=Dtk_dir())
Create Dtk_SphericalSurface.
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
Compute Bounding Box.
static Dtk_PolylinePtr Create(const Dtk_tab< Dtk_pnt > &inPoints)
Dtk_ErrorStatus Normalize()
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
This is the Toroidal Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or i...
Definition: util_geom_dtk.hpp:1424
int DtkDynamicType(const int &inId)
virtual Dtk_NurbsCurvePtr ToNurbs() const
Get Nurbs corresponding to conic (with trim)
virtual ~Dtk_RevolutionSurface()
Dtk_bool IsUniform() const
uint32_t Dtk_UInt32
Definition: define.h:688
Dtk_PlaneSurface(const Dtk_PlaneSurface &s)
virtual ~Dtk_Line()
Default destructor.
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
Dtk_ToroidalSurface(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inYDir, const Dtk_dir &inUDirection, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius)
size_t Dtk_Size_t
Definition: define.h:712
Dtk_Double64 GetTrimUMax() const
Get end Trim parameter.
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
static Dtk_StandardRevolutionSurface * DtkDynamicCast(Dtk_Object *s)
Dtk_ErrorStatus SetStartAngle(Dtk_Double64 inAngle)
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
Dtk_Double64 GetMajorRadius() const
type_detk get_type_detk() const
virtual Dtk_Size_t GetSize() const
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform
virtual Dtk_Size_t GetSize() const
Dtk_Point(const Dtk_Point &s)
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
virtual Dtk_Size_t GetSize() const
static Dtk_PointPtr Create(const Dtk_pnt &inToCopy)
virtual Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
Compute Bounding Box.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 u, int inUdiff, Dtk_dir &outdir, int exttype) const
const Dtk_pnt & GetCenterPoint() const
Get Center of Conic (inCenter on schema)
Dtk_pnt & Point(const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex)
Dtk_CurvePtr GetRevolvedCurve() const
GetRevolvedCurve.
Dtk_bool IsUniform() const
return DTK_TRUE if knots are uniform
@ _typeID
Definition: util_geom_dtk.hpp:760
Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
Dtk_LinearExtrusionSurface()
virtual Dtk_bool IsUPeriodic() const
Return DTK_TRUE If Periodic following U parameter.
Dtk_Size_t GetNumPoints() const
return Num Control points
virtual Dtk_ErrorStatus _Store(void *)
Dtk_RevolutionSurface(const Dtk_RevolutionSurface &inSurfToCopy)
virtual Dtk_ErrorStatus ComputeUDir(const Dtk_Double64 &inU, Dtk_dir &outDir) const
Compute dir on U parameter.
int DtkDynamicType(const int &inId)
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
int DtkDynamicType(const int &inId)
Dtk_Curve is a geometrical entity representing a curve. It is an abstract class that cannot be instan...
Definition: util_geom_dtk.hpp:87
virtual Dtk_Size_t GetSize() const
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1554
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_Line(const Dtk_Line &inLineToCopy)
constructor
Dtk_Hyperbola(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inSemiAxis, const Dtk_Double64 &inSemiImageAxis)
virtual Dtk_pnt ComputeStartPoint() const
Return First point.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:692
type_detk get_type_detk() const
type_detk get_type_detk() const
Dtk_ErrorStatus GetCoordinates(Dtk_pnt &pnt) const
Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outParameter) const
Compute pparameter.
static Dtk_PolylinePtr Create(const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
type_detk get_type_detk() const
virtual Dtk_Size_t GetSize() const
Dtk_Double64 GetMinorRadius() const
Dtk_bool IsRationnal() const
return DTK_TRUE if one weight != 1
virtual Dtk_ErrorStatus Reparam(Dtk_Double64 inDomain[])
static Dtk_RevolutionSurface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
const Dtk_dir & GetZDirection() const
GetZDirection.
virtual Dtk_bool IsUPeriodic() const
Return DTK_TRUE If Periodic following U parameter.
@ DTK_TYPE_PARABOLA
Definition: define.h:63
Dtk_Parabola(const Dtk_Parabola &inToCopy)
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1107
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1489
Dtk_ErrorStatus _KnotInsertion(const Dtk_Double64 &inParameter, const Dtk_Size_t &inOccurence, const Dtk_bool &inUSplit, Dtk_Double64 inTolerance=DTK_TOLERANCE)
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:645
const Dtk_pnt & Point(const Dtk_Size_t &inIndex) const
return the point at place inIndex
virtual Dtk_pnt ComputeStartPoint() const
Compute dir on U parameter.
static Dtk_FilletSurfacePtr Create(const Dtk_FilletSurface &inSurfToCopy)
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
#define DTK_FALSE
Definition: define.h:728
static Dtk_NurbsSurface * DtkDynamicCast(Dtk_Object *s)
@ DTK_TYPE_NURBS_CURVE
Definition: define.h:494
Dtk_Polyline(const Dtk_Polyline &inPolylineToCopy)
constructor
static Dtk_Ellipse * DtkDynamicCast(Dtk_Object *inObject)
char Dtk_bool
Definition: define.h:725
Dtk_Double64 GetWeight(const Dtk_Size_t &inIndex) const
return weight
@ _typeID
Definition: util_geom_dtk.hpp:1369
Dtk_Handle * _Private
Handle
Definition: util_geom_dtk.hpp:340
Dtk_dir GetYDirection() const
Give Y Direction (Axis Placement can be indirect )
type_detk get_type_detk() const
virtual Dtk_ErrorStatus _Store(void *)
Dtk_OffsetSurface(const Dtk_SurfacePtr &inSurf, const Dtk_Double64 &inOffset)
int DtkDynamicType(const int &inId)
downcasting
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
static Dtk_EllipsePtr Create(const Dtk_Ellipse &inEllipseToCopy)
Dtk_pnt GetTrimEndPoint() const
Return last trim point.
const Dtk_pnt & Point(const Dtk_Size_t &inIndex) const
return the point at place inIndex
static Dtk_OffsetSurfacePtr Create(const Dtk_OffsetSurface &inSurfToCopy)
static Dtk_ConicPtr Create(const Dtk_Conic &inConicToCopy)
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
int DtkDynamicType(const int &inId)
downcasting
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Dtk_NurbsCurve(const Dtk_NurbsCurve &s)
static Dtk_Polyline * DtkDynamicCast(Dtk_Object *inObjectToCast)
type_detk get_type_detk() const
Dtk_Size_t GetDimension() const
Return 2 or 3.
int DtkDynamicType(const int &inId)
Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
static Dtk_SphericalSurfacePtr Create(const Dtk_SphericalSurface &inSurfToCopy)
This is the Linear Extrusion Surface Class. U parametrisation : Curve to be extruded V parametrisatio...
Definition: util_geom_dtk.hpp:1190
static Dtk_FilletSurfacePtr Create(const Dtk_CurvePtr &inSpine, const Dtk_Double64 &inAngle1, const Dtk_Double64 &inAngle2, const Dtk_tab< Dtk_CurvePtr > &inAdjacentCurve, const Dtk_tab< Dtk_SurfacePtr > &inAdjacentSurface, const Dtk_tab< Dtk_Double64 > &inSpineParam=Dtk_tab< Dtk_Double64 >(), const Dtk_tab< Dtk_Double64 > &inKnots=Dtk_tab< Dtk_Double64 >(), const Dtk_Double64 &inConstantRadius=-1.0, const Dtk_NurbsSurfacePtr &inCorrespondingNurbs=NULL)
double Dtk_Double64
Definition: define.h:699
Dtk_OffsetSurface(const Dtk_OffsetSurface &s)
static Dtk_CylindricalSurfacePtr Create(const Dtk_CylindricalSurface &inSurfToCopy)
Dtk_dir GetUDirection() const
Dtk_NurbsCurvePtr ToNurbs() const
Get Nurbs corresponding to conic (with trim)
Dtk_Double64 GetMinorRadius() const
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
int DtkDynamicType(const int &inId)
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:353
Dtk_bool IsBezier() const
void SetIsPeriodic(const Dtk_bool &inIsPeriodic)
sets is_closed field to DTK_TRUE or DTK_FALSE
virtual Dtk_Size_t GetSize() const
Dtk_Double64 _ComputeWeight(Dtk_Double64 inUvalue, int exttype) const
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int extendtype) const
@ DTK_TYPE_CURVE
Definition: define.h:67
Dtk_ErrorStatus SetTrimUVBox(Dtk_Double64 inDomain[])
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = in...
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
Dtk_ErrorStatus SetStartAngle(Dtk_Double64 inAngle)
@ _typeID
Definition: util_geom_dtk.hpp:344
Dtk_Size_t GetNumPointsU() const
static Dtk_RuledSurface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const =0
Compute 3D point.
Dtk_Parabola(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inMajorRadius)
Dtk_UInt32 GetKnotMultiplicity(const Dtk_Size_t &inIndex) const
return knot multiplicity at inIndex place
@ DTK_TYPE_NURBS_SURFACE
Definition: define.h:495
static Dtk_ParabolaPtr Create(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inFocal)
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1192
type_detk get_type_detk() const
Return Curve type.
virtual Dtk_ErrorStatus ComputeUDir(const Dtk_Double64 &inU, Dtk_dir &outDir) const
Compute dir on U parameter.
static Dtk_PlaneSurfacePtr Create(const Dtk_PlaneSurface &inPlaneToCopy)
Dtk_StandardRevolutionSurface(const Dtk_StandardRevolutionSurface &inSurfToCopy)
Definition: util_geom_dtk.hpp:1605
Dtk_ToroidalSurface(const Dtk_ToroidalSurface &s)
virtual Dtk_pnt ComputeStartPoint() const
Return First point.
int _KnotRemoval(const Dtk_Double64 &inU, const int &inNum, const Dtk_Double64 &inTolerance)
int _KnotRemoval(const Dtk_Double64 &inParameter, const int &inOccurence, const Dtk_bool &inUSplit, const Dtk_Double64 &inTolerance)
Dtk_Polyline(const Dtk_tab< Dtk_pnt > &inPoints)
constructor
@ DTK_TYPE_SURFACE
Definition: define.h:114
Dtk_bool IsCircle() const
virtual Dtk_ErrorStatus SetTrimUVBox(Dtk_Double64 inTrimValues[])
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = in...
Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
virtual void Reverse()
Reverse Curve.
@ DTK_TYPE_STANDARD_REVOLUTION_SURFACE
Definition: define.h:497
virtual Dtk_Size_t GetSize() const
virtual Dtk_bool IsUPeriodic() const
Return DTK_TRUE If Periodic following U parameter.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const =0
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
Dtk_Double64 GetParam1() const
Dtk_dir GetDirection() const
return direction of line
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1308
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
Dtk_NurbsSurface(const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnotsValues, const Dtk_tab< Dtk_Double64 > &inVKnotsValues, const Dtk_tab< Dtk_UChar8 > &inUKnotsMultiplicities, const Dtk_tab< Dtk_UChar8 > &inVKnotsMultiplicities, const Dtk_tab< Dtk_tab< Dtk_pnt > > &inControlPoints, const Dtk_tab< Dtk_tab< Dtk_Double64 > > &inWeights=Dtk_tab< Dtk_tab< Dtk_Double64 > >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE)
Dtk_dir GetXDirection() const
Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
type_detk get_type_detk() const
virtual Dtk_Object * Clone()=0
This is the Cylindrical Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection o...
Definition: util_geom_dtk.hpp:1306
static Dtk_RuledSurfacePtr Create(const Dtk_RuledSurface &inSurfToCopy)
const std::vector< Dtk_UInt32 > & GetAttrArrayIndex() const
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:191
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
Compute U parameter from point.
virtual Dtk_Size_t GetSize() const
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform
const std::vector< Dtk_dir > & GetNormArray() const
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int extendtype) const
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:438
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
static Dtk_Curve * DtkDynamicCast(Dtk_Object *inObject)
virtual Dtk_pnt ComputeStartPoint() const
Return First point.
virtual Dtk_pnt ComputeEndPoint() const =0
Return Last point.
This is the Offset Surface Class. U parametrisation : like basis surface V parametrisation : like bas...
Definition: util_geom_dtk.hpp:1552
@ DTK_TYPE_POINT
Definition: define.h:488
Dtk_ErrorStatus _DegreeElevation(const Dtk_Size_t &inDegreeElevation)
Dtk_ErrorStatus GetCoordinates(Dtk_Double64 &x, Dtk_Double64 &y, Dtk_Double64 &z) const
Get Coordinates For Point.
Dtk_bool IsLine()
return True if Curve is a line
static Dtk_ConicalSurfacePtr Create(const Dtk_ConicalSurface &inSurfToCopy)
int DtkDynamicType(const int &inId)
downcasting
type_detk get_type_detk() const
virtual Dtk_Size_t GetSize() const
Dtk_pnt GetOrigin() const
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform Polyline with inTransformation
Dtk_NurbsCurve(const Dtk_tab< Dtk_CurvePtr > &inCurvesToMerge, Dtk_Double64 stichtol, Dtk_bool LengthParameter)
Definition: util_geom_dtk.hpp:637
virtual void Normalize()
Normalize Curve.
static Dtk_NurbsCurvePtr Create(const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >())
virtual Dtk_ErrorStatus _Store(void *)
Dtk_tab< Dtk_Double64 > GetKnots() const
Dtk_SurfacePtr GetAdjacentSurface(const Dtk_Size_t &inIndex) const
Dtk_bool CanHaveDiscontinuity() const
return DTK_TRUE if nurbs can have discontinuity
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Dtk_CurvePtr GetRevolvedCurve() const
GetRevolvedCurve.
virtual Dtk_Size_t GetSize() const
virtual ~Dtk_PlaneSurface()
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
static Dtk_LinePtr Create(const Dtk_pnt &inPnt1, const Dtk_pnt &inPnt2)
Dtk_LinearExtrusionSurface(const Dtk_CurvePtr &inExtrudedCurve, const Dtk_dir &inExtrusionAxis)
static Dtk_LinePtr Create(const Dtk_Line &inLineToCopy)
constructors returning Smart pointers
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
const Dtk_dir & GetRevolutionAxis() const
GetRevolutionAxis.
const std::vector< Dtk_UInt32 > & GetVertexArrayIndex() const
virtual Dtk_NurbsCurvePtr ToNurbs() const
Convert Curve to nurbs.
Dtk_Double64 GetRadius() const
Dtk_bool IsRationnal() const
@ DTK_TYPE_PLANE
Definition: define.h:92
virtual Dtk_Size_t GetSize() const
virtual Dtk_ErrorStatus ComputeUDerivative(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outdir) const
static Dtk_RevolutionSurfacePtr Create(const Dtk_RevolutionSurface &inSurfToCopy)
int DtkDynamicType(const int &inId)
downcasting
@ _typeID
Definition: util_geom_dtk.hpp:1556
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
No corresponding nurbs nurface.
Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
Dtk_Size_t GetNumKnots() const
return number of different knot value
virtual Dtk_ErrorStatus _Store(void *)
Dtk_Point(const Dtk_pnt &pt)
constructors
static Dtk_Hyperbola * DtkDynamicCast(Dtk_Object *inObject)
Dtk_UInt32 GetVKnotMultiplicity(const Dtk_Size_t &inIndex) const
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
virtual Dtk_bool IsVPeriodic() const
Return DTK_TRUE If Periodic following V parameter.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:758
Dtk_SurfacePtr GetSurface() const
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:842
Dtk_Double64 GetSemiAngle() const
Definition: util_geom_dtk.hpp:690
This is the Revolution Surface Class. U parametrisation : [0.0 - 2PI] 0.0 is given by inUDirection or...
Definition: util_geom_dtk.hpp:1019
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual ~Dtk_ConicalSurface()
static Dtk_FilletSurface * DtkDynamicCast(Dtk_Object *s)
static Dtk_MeshSurface * DtkDynamicCast(Dtk_Object *inObject)
Dtk_NurbsCurve(const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnots, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >())
static Dtk_NurbsCurvePtr Create(const Dtk_tab< Dtk_CurvePtr > &inCurvesToMerge, Dtk_Double64 stichtol=DTK_TOLERANCE, Dtk_bool LengthParameter=DTK_FALSE)
virtual Dtk_ErrorStatus _Store(void *)
const Dtk_dir & GetRevolutionAxis() const
GetRevolutionAxis.
@ DTK_TYPE_LINE
Definition: define.h:57
Dtk_ErrorStatus AddMeshFaceToMesh(Dtk_MeshPtr &inoutMeshPtr) const
Add MeshSurface to Mesh.
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
virtual ~Dtk_CylindricalSurface()
This is the Ruled Surface Class. U Parametrisation is given by curve parametrisation V Parametrisatio...
Definition: util_geom_dtk.hpp:1249
Dtk_Size_t GetNumPoints() const
return number of points for the polyline
friend void PDtk_StoreDataSurface(void *, Dtk_SurfacePtr &)
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
void _Copy(const Dtk_Curve &s)
This is the ellipse and circle Class. parametrisation :[ 0.0 - 2PI ] 0.0 is given by inXref or inOrig...
Definition: util_geom_dtk.hpp:574
Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
@ _typeID
Definition: util_geom_dtk.hpp:24
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
virtual Dtk_ErrorStatus ComputeUDir(const Dtk_Double64 &inU, Dtk_dir &outDir) const
Compute dir on U parameter.
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
virtual ~Dtk_ToroidalSurface()
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
static Dtk_HyperbolaPtr Create(const Dtk_Hyperbola &inToCopy)
Dtk_CurvePtr GetSpineCurve() const
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_Double64 GetRadius() const
Dtk_PlaneSurface(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_dir &inVDirection)
void SetDimension(const Dtk_Size_t &inDimension)
Set curve dimension (2 or 3)
type_detk get_type_detk() const
int DtkDynamicType(const int &inId)
downcasting
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_Size_t GetSize() const
virtual Dtk_ErrorStatus _Store(void *)
Dtk_FilletSurface(const Dtk_CurvePtr &inSpine, const Dtk_Double64 &inAngle1, const Dtk_Double64 &inAngle2, const Dtk_Double64 &inConstantRadius, const Dtk_tab< Dtk_CurvePtr > &inAdjacentCurve, const Dtk_tab< Dtk_SurfacePtr > &inAdjacentSurface, const Dtk_tab< Dtk_Double64 > &inSpineParam, const Dtk_tab< Dtk_Double64 > &inKnots, const Dtk_Double64 &inRadius1, const Dtk_Double64 &inRadius2, const Dtk_NurbsSurfacePtr &inCorrespondingNurbs=NULL)
Dtk_Double64 GetVKnotValue(const Dtk_Size_t &inIndex) const
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:830
Dtk_NurbsCurvePtr ForceG1Continuity() const
Dtk_tab< Dtk_Double64 > GetSpineParametrization() const
Dtk_ErrorStatus ComputeUVto3DFirstDerivative(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, const Dtk_dir &inUVFirstDerivative, Dtk_dir &out3DFirstDerivative) const
Compute 3D first derivative on UV point according to UV derivative.
int DtkDynamicType(const int &inId)
static Dtk_Conic * DtkDynamicCast(Dtk_Object *inObject)
void SetTypeBeforeConversion(type_detk type)
const std::vector< Dtk_pnt > & GetVertexArray() const
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:28
type_detk get_type_detk() const
static Dtk_StandardRevolutionSurfacePtr Create(const Dtk_CurvePtr &inRevolvedCurve, const Dtk_pnt &inAxisposition, const Dtk_dir &inRevolutionAxis, const Dtk_dir &inVDirection, const Dtk_dir &inYDir=Dtk_dir())
Create Dtk_StandardRevolutionSurface.
Dtk_NurbsCurve(const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_Double64 > &inKnotsValues, const Dtk_tab< Dtk_UChar8 > &inKnotsMultiplicities, const Dtk_tab< Dtk_pnt > &inControlPoints, const Dtk_tab< Dtk_Double64 > &inWeights=Dtk_tab< Dtk_Double64 >())
Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
Dtk_Hyperbola(const Dtk_Hyperbola &inToCopy)
static Dtk_PointPtr Create(const Dtk_Double64 &inX, const Dtk_Double64 &inY, const Dtk_Double64 &inZ)
Dtk_pnt & Point(const Dtk_Size_t &inIndex)
Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
Definition: util_ptr_dtk.hpp:37
const Dtk_dir & GetXDirection() const
Give V origin for parametrisation.
Dtk_bool IsClosed(Dtk_Double64 inTol=DTK_TOLERANCE) const
return DTK_TRUE if nurbs is closed
@ _typeID
Definition: util_geom_dtk.hpp:1428
Dtk_ErrorStatus Split(Dtk_Double64 inTrimDom[4], Dtk_Double64 inTolerance=DTK_TOLERANCE)
Dtk_Double64 GetOffset() const
Dtk_bool IsLine() const
return DTK_TRUE if polyline is a line DTK_FALSE otherwise
static Dtk_PolylinePtr Create(const Dtk_Polyline &inPolylineToCopy)
constructors returning Smart pointers
Dtk_Double64 GetConstantRadius() const
unsigned char Dtk_UChar8
Definition: define.h:698
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Transform Curve.
Dtk_CurvePtr GetSecondCurve() const
virtual ~Dtk_LinearExtrusionSurface()
Dtk_Double64 GetUKnotValue(const Dtk_Size_t &inIndex) const
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
static Dtk_NurbsSurfacePtr Create(const Dtk_UInt32 &inUDegree, const Dtk_UInt32 &inVDegree, const Dtk_tab< Dtk_Double64 > &inUKnotsValues, const Dtk_tab< Dtk_Double64 > &inVKnotsValues, const Dtk_tab< Dtk_UChar8 > &inUKnotsMultiplicities, const Dtk_tab< Dtk_UChar8 > &inVKnotsMultiplicities, const Dtk_tab< Dtk_tab< Dtk_pnt > > &inControlPoints, const Dtk_tab< Dtk_tab< Dtk_Double64 > > &inWeights=Dtk_tab< Dtk_tab< Dtk_Double64 > >(), type_detk inSurfaceType=DTK_TYPE_NURBS_SURFACE, const Dtk_UInt32 &inTargetUDegree=0, const Dtk_UInt32 &inTargetVDegree=0)
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:201
void SetTypeBeforeConversion(const type_detk &inType)
virtual void Reverse()
Reverse Curve.
const Dtk_pnt & Point(const Dtk_Size_t &inUIndex, const Dtk_Size_t &inVIndex) const
const Dtk_dir & GetZDirection() const
GetZDirection.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Dtk_RuledSurface(const Dtk_CurvePtr &inFirstCurve, const Dtk_CurvePtr &inSecondCurve)
static Dtk_LinearExtrusionSurfacePtr Create(const Dtk_CurvePtr &inExtrudedCurve, const Dtk_dir &inExtrusionAxis)
Create an infinite Dtk_LinearExtrusionSurface from a curve and a extrusion vector two curves.
Dtk_Double64 GetParam2() const
@ _typeID
Definition: util_geom_dtk.hpp:193
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
static Dtk_Parabola * DtkDynamicCast(Dtk_Object *inObject)
static Dtk_EllipsePtr Create(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius)
virtual ~Dtk_StandardRevolutionSurface()
static Dtk_ConicalSurfacePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_Double64 &inFirstRadius, const Dtk_Double64 &inAngle, const Dtk_dir &inYDir=Dtk_dir())
Create an infinite Cone.
Dtk_ErrorStatus _ComputeAnyDerivativeExtended(Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
Compute any derivative for an U value outside of the curve definition.
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
virtual Dtk_bool IsVPeriodic() const
Return DTK_TRUE If Periodic following V parameter.
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
Dtk_ConicalSurface(const Dtk_ConicalSurface &s)
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
type_detk
Definition: define.h:32
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:698
Dtk_UInt32 GetDegree() const
return degree
const Dtk_pnt & GetAxisPosition() const
Get origin
virtual Dtk_bool IsClosed(Dtk_Double64 inTol=DTK_TOLERANCE) const
return True if Curve is closed
virtual Dtk_pnt ComputeStartPoint() const =0
Return First point.
virtual Dtk_Object * Clone()=0
@ DTK_TYPE_TRANSFORMED_SURFACE
Definition: define.h:499
Dtk_ErrorStatus GetTrimUVBox(Dtk_Double64 outTrimValues[]) const
Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax =...
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
Dtk_FilletSurface(const Dtk_FilletSurface &s)
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
static Dtk_ParabolaPtr Create(const Dtk_Parabola &inToCopy)
Dtk_Line(const Dtk_pnt &inOrigin, const Dtk_dir &inDirection)
constructor
@ DTK_TYPE_CYLINDRICAL_SURFACE
Definition: define.h:93
Dtk_Polyline()
Default constructor.
virtual void Reverse()
Reverse Curve.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 u, int inUdiff, Dtk_dir &outdir, int exttype) const
Dtk_Surface is a geometrical entity representing a surface. Some type of surface are unlimited such a...
Definition: util_geom_dtk.hpp:756
int DtkDynamicType(const int &inId)
virtual void PrepareTransfo()
static Dtk_OffsetSurface * DtkDynamicCast(Dtk_Object *s)
Dtk_RevolutionSurface(const Dtk_CurvePtr &inRevolvedCurve, const Dtk_pnt &inAxisposition, const Dtk_dir &inRevolutionAxis, const Dtk_dir &inUDirection, const Dtk_dir &inYDir)
virtual Dtk_NurbsCurvePtr ToNurbs() const
Convert Curve to nurbs.
type_detk get_type_detk() const
This is the Conic Class. It is part of the Dtk_Curve entity.
Definition: util_geom_dtk.hpp:503
Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
virtual Dtk_pnt ComputeStartPoint() const
Return First point.
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
friend void PDtk_StoreDataCurve(void *, Dtk_CurvePtr &)
Dtk_dir GetYDirection() const
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
Dtk_Size_t GetNumKnotsU() const
Dtk_Double64 GetMajorRadius() const
Dtk_Double64 GetRadius() const
Get Radius at origin.
virtual Dtk_ErrorStatus _Store(void *)
int DtkDynamicType(const int &inId)
downcasting
Dtk_ErrorStatus ComputeUVto3DSecondDerivative(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, const Dtk_dir &inUVFirstDerivative, const Dtk_dir &inUVSecondDerivative, Dtk_dir &out3DSecondDerivative) const
Compute 3D second derivative on UV point according to UV derivatives.
const Dtk_dir & GetXDirection() const
Dtk_Size_t GetNumKnotsV() const
const Dtk_dir & GetExtrusionAxis() const
@ _typeID
Definition: util_geom_dtk.hpp:1609
@ _typeID
Definition: util_geom_dtk.hpp:958
virtual Dtk_Size_t GetSize() const
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:956
Dtk_bool IsLine() const
return DTK_TRUE if nurbs is line
Dtk_ErrorStatus Normalize()
Dtk_ErrorStatus ComputeUPointDir(const Dtk_Double64 &inUparameter, Dtk_pnt &outPoint, Dtk_dir &outDir) const
Compute point and dir on U parameter.
Dtk_Double64 ComputeLength()
return curve Length
int DtkDynamicType(const int &inId)
downcasting
Dtk_Surface(const Dtk_Surface &s)
int DtkDynamicType(const int &inId)
downcasting
int DtkDynamicType(const int &inId)
downcasting
Dtk_dir GetYDirection() const
Get Y direction of Conic.
type_detk get_type_detk() const
This is the Mesh Surface Class.
Definition: util_geom_dtk.hpp:1720
virtual Dtk_ErrorStatus _Store(void *)
virtual Dtk_ErrorStatus _Store(void *)
Dtk_Double64 * GetUnpackedVKnot() const
static Dtk_SphericalSurface * DtkDynamicCast(Dtk_Object *s)
static Dtk_Surface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_Size_t GetSize() const
Dtk_MeshPtr GetMesh() const
Get the Dtk_Mesh corresponding to MeshSurface.
Dtk_CylindricalSurface(const Dtk_CylindricalSurface &s)
@ DTK_TYPE_FILLET_SURFACE
Definition: define.h:116
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:576
Dtk_Double64 GetRadius() const
type_detk get_type_detk() const
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1607
static Dtk_OffsetSurfacePtr Create(const Dtk_SurfacePtr &inSurf, const Dtk_Double64 &inOffset)
Create an offset surface following surface normal.
Dtk_ConicalSurface(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inYDirection, const Dtk_dir &inUDirection, const Dtk_Double64 &inRadius, const Dtk_Double64 &inAngle)
static Dtk_HyperbolaPtr Create(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inSemiAxis, const Dtk_Double64 &inSemiImageAxis)
Dtk_Double64 GetKnotValue(const Dtk_Size_t &inIndex) const
return knot value at inIndex place
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:505
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:639
static Dtk_ConicalSurface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1560
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:89
Dtk_Handle * _Private
Handle
Definition: util_geom_dtk.hpp:425
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
Dtk_Ellipse(const Dtk_pnt &inCenter, const Dtk_dir &inNormal, const Dtk_dir &inXref, const Dtk_Double64 &inMajorRadius, const Dtk_Double64 &inMinorRadius)
virtual Dtk_bool IsVPeriodic() const
return DTK_TRUE if nurbs is periodic in V
This is the POINT Class. It is part of the Dtk_Point entity.
Definition: util_geom_dtk.hpp:20
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
@ _typeID
Definition: util_geom_dtk.hpp:1310
@ DTK_TYPE_ELLIPSE
Definition: define.h:61
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual void Reverse()
Reverse Curve.
static Dtk_NurbsCurve * DtkDynamicCast(Dtk_Object *inObject)
Dtk_ErrorStatus Normalize()
Dtk_pnt GetTrimStartPoint() const
Return first trim point.
virtual Dtk_ErrorStatus InverseTrim()
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:582
Dtk_Double64 GetSemiAxis() const
Dtk_Double64 * GetUnpackedKnot() const
virtual Dtk_pnt ComputeEndPoint() const
Return Last point.
type_detk get_type_detk() const
Return type.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_SphericalSurface(const Dtk_SphericalSurface &s)
@ DTK_TYPE_OFFSET_SURFACE
Definition: define.h:115
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform Line with inTransformation
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1113
type_detk get_type_detk() const
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const =0
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
Dtk_ErrorStatus Normalize()
@ DTK_TYPE_RULED_SURFACE
Definition: define.h:100
static Dtk_StandardRevolutionSurfacePtr Create(const Dtk_StandardRevolutionSurface &inSurfToCopy)
Dtk_StandardRevolutionSurface()
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inMorePrecise=0)
Compute Bounding Box.
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
virtual Dtk_PolylinePtr ToPolyline(const int &inMinPoint, const Dtk_Double64 &inTolerance) const
Convert Curve to polyline.
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
Compute U parameter from point.
This is the Plane Surface Class. U parametrisation : [-infini - +infini] : 0 is inOrigin and unit vec...
Definition: util_geom_dtk.hpp:954
virtual Dtk_bool IsPeriodic() const
return True if Curve is periodic
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
@ _typeID
Definition: util_geom_dtk.hpp:578
This is the Nurbs Surface Class. It is part of the Dtk_NurbsSurface entity.
Definition: util_geom_dtk.hpp:828
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual Dtk_pnt ComputeStartPoint() const
Return First point.
Dtk_UInt32 GetVDegree() const
@ DTK_TYPE_TOROIDAL_SURFACE
Definition: define.h:96
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
Definition: dtk_object.hpp:8
void DeleteCorrespondingNurbs()
virtual ~Dtk_SphericalSurface()
Dtk_SphericalSurface(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inYDir, const Dtk_dir &inUDirection, const Dtk_Double64 &inRadius)
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const
Get Curve Parametrisation.
virtual void Reverse()
Reverse Curve.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
int DtkDynamicType(const int &inId)
void SetIsClosed(const Dtk_bool &inIsClosed)
sets is_closed field to DTK_TRUE or DTK_FALSE
virtual Dtk_Object * Clone()=0
static Dtk_NurbsSurfacePtr Create(const Dtk_tab< Dtk_SurfacePtr > &inSurfacesToMerge, Dtk_Double64 stichtol=DTK_TOLERANCE)
static Dtk_MeshSurfacePtr Create(const std::vector< Dtk_pnt > &inP, const std::vector< Dtk_UInt32 > &index, const std::vector< Dtk_dir > &inD, const std::vector< Dtk_UInt32 > &aindex)
Dtk_NurbsSurface(const Dtk_tab< Dtk_SurfacePtr > &inSurfacesToMerge, Dtk_Double64 stichtol)
Dtk_CurvePtr GetAdjacentCurve(const Dtk_Size_t &inIndex) const
virtual Dtk_bool IsVPeriodic() const
Return DTK_TRUE If Periodic following V parameter.
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
@ _typeID
Definition: util_geom_dtk.hpp:832
Dtk_pnt GetOrigin() const
return origin of line
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
Compute U parameter from point.
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Transform Point.
int DtkDynamicType(const int &inId)
Dtk_Double64 GetTrimUMin() const
Get start Trim parameter.
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
virtual ~Dtk_NurbsCurve()
@ _typeID
Definition: util_geom_dtk.hpp:1109
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1426
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Dtk_bool _HasInternalNurbs() const
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
@ DTK_TYPE_HYPERBOLA
Definition: define.h:62
static Dtk_PointPtr Create(const Dtk_Point &inToCopy)
constructors returning Smart pointers
type_detk GetTypeBeforeConversion() const
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1251
static Dtk_SurfacePtr Create(const Dtk_Surface &s)
Create Surface by copy.
This is the Infinite Line Class. It is part of the Dtk_Curve entity 0.0 parametrisation is first poin...
Definition: util_geom_dtk.hpp:422
@ DTK_TYPE_CONICAL_SURFACE
Definition: define.h:94
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
transform
Dtk_bool IsTrimmed() const
Return DTK_TRUE if Curve Is trimmed by point or parameter value.
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int extendtype) const
Dtk_Conic(const Dtk_Conic &inConicToCopy)
Dtk_NurbsCurve(const Dtk_UInt32 &inDegree, const Dtk_tab< Dtk_pnt > &inControlPoints)
virtual ~Dtk_RuledSurface()
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, int inUdiff, Dtk_dir &outdir, int exttype) const
Compute any derivative for an U value.
static Dtk_Point * DtkDynamicCast(Dtk_Object *inObject)
static Dtk_PlaneSurface * DtkDynamicCast(Dtk_Object *s)
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
Compute U parameter from point.
Dtk_CurvePtr GetFirstCurve() const
int DtkDynamicType(const int &inId)
virtual void Reverse()
Reverse Curve.
virtual Dtk_ErrorStatus ComputeUVPoint(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_pnt &outpnt) const
Compute 3D point.
virtual Dtk_ErrorStatus ComputeNormal(const Dtk_Double64 &inUValue, const Dtk_Double64 &inVValue, Dtk_dir &outDir) const
Compute Normal on UV point.
Dtk_LinearExtrusionSurface(const Dtk_LinearExtrusionSurface &s)
@ DTK_TYPE_REVOLUTION_SURFACE
Definition: define.h:496
virtual Dtk_ErrorStatus _ComputeAnyDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUdiff, int inVdiff, Dtk_dir &outdir, int exttype) const
Dtk_bool IsTrimmed() const
Return DTK_TRUE if Surface Is trimmed by parameter value.
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
virtual Dtk_ErrorStatus ComputeParameter(const Dtk_pnt &inPoint, Dtk_Double64 &outU) const
Compute U parameter from point.
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1027
virtual Dtk_ErrorStatus ComputeUDir(const Dtk_Double64 &inU, Dtk_dir &outDir) const
Compute dir on U parameter.
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1367
Dtk_Handle * _Private
Definition: util_geom_dtk.hpp:1021
Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Transform Curve.
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1314
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1495
Dtk_ErrorStatus SplitAt(const Dtk_Double64 &inParameter, const Dtk_bool &inUSplit, const Dtk_bool &inKeepLeft, Dtk_NurbsSurfacePtr &outOtherPart, Dtk_Double64 inTolerance=DTK_TOLERANCE)
static Dtk_NurbsSurfacePtr Create(const Dtk_NurbsSurface &s)
type_detk get_type_detk() const
This is the Nurbs Class. It is part of the Dtk_Curve entity.
Definition: util_geom_dtk.hpp:189
virtual Dtk_ErrorStatus _Store(void *)
Dump entity.
Dtk_ErrorStatus SetStartAngle(Dtk_Double64 inAngle)
virtual Dtk_bool IsUPeriodic() const
return DTK_TRUE if nurbs is periodic in U
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1373
virtual Dtk_Object * Clone()
Definition: util_geom_dtk.hpp:1198
Dtk_NurbsCurvePtr ComputeOffset(Dtk_Double64 inOffset, Dtk_dir inOffsetDirection)
Compute offset curve and convert it to nurbs.
virtual Dtk_ErrorStatus ComputeUPoint(const Dtk_Double64 &inU, Dtk_pnt &outPoint) const
Compute point on U parameter.
Dtk_StandardRevolutionSurface(const Dtk_CurvePtr &inRevolvedCurve, const Dtk_pnt &inAxisposition, const Dtk_dir &inRevolutionAxis, const Dtk_dir &inVDirection, const Dtk_dir &inYDir)
const Dtk_dir & GetOriginDirection() const
Get Origin of parametrisation of Conic (inXdir on schema)
virtual Dtk_ErrorStatus _ComputeMultipleDerivative(Dtk_Double64 inUvalue, Dtk_Double64 inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, int exttype) const
This is the Polyline and Segment Line Class. It is part of the Dtk_Curve entity.
Definition: util_geom_dtk.hpp:337
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 outDomain[]) const
Get Surface Parametrisation : Umin = outDomain[0] Umax = outDomain[1] Vmin = outDomain[2] Vmax = outD...
void AddPoint(const Dtk_pnt &inNewPoint)
Add point to polyline.
Dtk_bool IsBezier() const
return DTK_TRUE if bezier
Dtk_ErrorStatus _ComputeMultipleDerivative_withbasis(const Dtk_Double64 &inUvalue, const Dtk_Double64 &inVvalue, int inUmaxdiff, int inVmaxdiff, int inUVdiffsummax, Dtk_dir *outdirs, Dtk_dir *outdirsbasis, int exttype) const
int DtkDynamicType(const int &inId)
virtual Dtk_ErrorStatus GetDomain(Dtk_Double64 &outUmin, Dtk_Double64 &outUmax) const =0
Get Curve Parametrisation.
virtual Dtk_ErrorStatus ComputeOrientedBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, const Dtk_transfo &inLocal)
Compute Oriented Bounding Box.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
virtual Dtk_Size_t GetSize() const
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax) const
Set Surface Parametrisation : Umin = inDomain[0] Umax = inDomain[1] Vmin = inDomain[2] Vmax = inDomai...
virtual Dtk_Size_t GetSize() const
static Dtk_NurbsCurvePtr Create(const Dtk_NurbsCurve &s)
constructors returning Smart pointers
@ DTK_TYPE_LINEAR_EXTRUSION_SURFACE
Definition: define.h:498
Dtk_RuledSurface(const Dtk_RuledSurface &s)
static Dtk_RevolutionSurfacePtr Create(const Dtk_CurvePtr &inRevolvedCurve, const Dtk_pnt &inAxisposition, const Dtk_dir &inRevolutionAxis, const Dtk_dir &inUDirection, const Dtk_dir &inYDir=Dtk_dir())
OBSOLETE Create Dtk_RevolutionSurface.
Definition: util_ent_dtk.hpp:329
static Dtk_CylindricalSurfacePtr Create(const Dtk_pnt &inOrigin, const Dtk_dir &inNormal, const Dtk_dir &inUDirection, const Dtk_Double64 &inRadius, const Dtk_dir &inYDirection=Dtk_dir())
Create an infinite cylinder.
virtual Dtk_NurbsSurfacePtr ToNurbs(const Dtk_Double64 *inTrimDomain=NULL) const
Convert a surface into a Nurbs, keeping the parametrisation of the initial surface.
Dtk_Size_t GetNumAdjacentSurfaces() const
Dtk_CurvePtr GetExtrudedCurve() const