1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _GeomFill_DraftTrihedron_HeaderFile
#define _GeomFill_DraftTrihedron_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_GeomFill_DraftTrihedron.hxx>
#include <gp_Vec.hxx>
#include <Standard_Real.hxx>
#include <GeomFill_TrihedronLaw.hxx>
#include <Handle_GeomFill_TrihedronLaw.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <GeomAbs_Shape.hxx>
class Standard_OutOfRange;
class Standard_ConstructionError;
class gp_Vec;
class GeomFill_TrihedronLaw;
class TColStd_Array1OfReal;
class GeomFill_DraftTrihedron : public GeomFill_TrihedronLaw
{
public:
Standard_EXPORT GeomFill_DraftTrihedron(const gp_Vec& BiNormal, const Standard_Real Angle);
Standard_EXPORT void SetAngle (const Standard_Real Angle) ;
Standard_EXPORT virtual Handle(GeomFill_TrihedronLaw) Copy() const;
//! compute Triedrhon and derivative Trihedron on curve at
//! parameter <Param>
//! Warning : It used only for C1 or C2 aproximation
Standard_EXPORT virtual Standard_Boolean D0 (const Standard_Real Param, gp_Vec& Tangent, gp_Vec& Normal, gp_Vec& BiNormal) ;
//! compute Trihedron on curve
//! first and seconde derivatives.
//! Warning : It used only for C2 aproximation
Standard_EXPORT virtual Standard_Boolean D1 (const Standard_Real Param, gp_Vec& Tangent, gp_Vec& DTangent, gp_Vec& Normal, gp_Vec& DNormal, gp_Vec& BiNormal, gp_Vec& DBiNormal) ;
Standard_EXPORT virtual Standard_Boolean D2 (const Standard_Real Param, gp_Vec& Tangent, gp_Vec& DTangent, gp_Vec& D2Tangent, gp_Vec& Normal, gp_Vec& DNormal, gp_Vec& D2Normal, gp_Vec& BiNormal, gp_Vec& DBiNormal, gp_Vec& D2BiNormal) ;
//! Returns the number of intervals for continuity
//! <S>.
//! May be one if Continuity(me) >= <S>
Standard_EXPORT virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const;
//! Stores in <T> the parameters bounding the intervals
//! of continuity <S>.
//!
//! The array must provide enough room to accomodate
//! for the parameters. i.e. T.Length() > NbIntervals()
Standard_EXPORT virtual void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const;
//! Get average value of Tangent(t) and Normal(t) it is usefull to
//! make fast approximation of rational surfaces.
Standard_EXPORT virtual void GetAverageLaw (gp_Vec& ATangent, gp_Vec& ANormal, gp_Vec& ABiNormal) ;
//! Say if the law is Constant.
Standard_EXPORT virtual Standard_Boolean IsConstant() const;
//! Return True.
Standard_EXPORT virtual Standard_Boolean IsOnlyBy3dCurve() const;
DEFINE_STANDARD_RTTI(GeomFill_DraftTrihedron)
protected:
private:
gp_Vec B;
Standard_Real myAngle;
Standard_Real myCos;
};
#endif // _GeomFill_DraftTrihedron_HeaderFile
|