#include <GeomAbs_CurveType.hxx>
#include <GeomAbs_IsoType.hxx>
#include <GeomAbs_Shape.hxx>
+#include <GeomAdaptor_Surface.hxx>
#include <GeomEvaluator_OffsetSurface.hxx>
#include <gp.hxx>
#include <gp_Dir.hxx>
equivSurf = Surface();
- if (basisSurf->IsKind(STANDARD_TYPE(Geom_BSplineSurface)) ||
- basisSurf->IsKind(STANDARD_TYPE(Geom_BezierSurface)))
+ if (aCheckingSurf->IsKind(STANDARD_TYPE(Geom_BSplineSurface)) ||
+ aCheckingSurf->IsKind(STANDARD_TYPE(Geom_BezierSurface)))
{
// Tolerance en dur pour l'instant ,mais on devrait la proposer dans le constructeur
// et la mettre en champ, on pourrait utiliser par exemple pour l'extraction d'iso
// et aussi pour les singularite. Pour les surfaces osculatrices, on l'utilise pour
// detecter si une iso est degeneree.
const Standard_Real Tol = Precision::Confusion(); //0.0001;
- myOscSurf = new Geom_OsculatingSurface(basisSurf, Tol);
+ myOscSurf = new Geom_OsculatingSurface(aCheckingSurf, Tol);
}
// Surface value calculator
Standard_Integer *ErrorCode);
private:
- Handle(Geom_Surface) CurrentSurface;
+ GeomAdaptor_Surface CurrentSurface;
Standard_Real IsoPar;
};
{
gp_Pnt P;
if (*DerivativeRequest == 0) {
- P = CurrentSurface->Value(IsoPar,*Parameter);
+ P = CurrentSurface.Value(IsoPar,*Parameter);
Result[0] = P.X();
Result[1] = P.Y();
Result[2] = P.Z();
}
else {
gp_Vec DU,DV;
- CurrentSurface->D1(IsoPar,*Parameter,P,DU,DV);
+ CurrentSurface.D1(IsoPar,*Parameter,P,DU,DV);
Result[0] = DV.X();
Result[1] = DV.Y();
Result[2] = DV.Z();
Handle(Geom_RectangularTrimmedSurface) St =
Handle(Geom_RectangularTrimmedSurface)::DownCast(SBasis);
- Handle(Geom_Surface) S = Handle(Geom_Surface)::DownCast(St->BasisSurface());
+ Handle(Geom_Surface) S = St->BasisSurface();
if (S->IsKind (STANDARD_TYPE(Geom_ElementarySurface))) {
UClosed = SBasis->IsUClosed();
}
Handle(Geom_RectangularTrimmedSurface) St =
Handle(Geom_RectangularTrimmedSurface)::DownCast(SBasis);
- Handle(Geom_Surface) S = Handle(Geom_Surface)::DownCast(St->BasisSurface());
+ Handle(Geom_Surface) S = St->BasisSurface();
if (S->IsKind (STANDARD_TYPE(Geom_ElementarySurface))) {
VClosed = SBasis->IsVClosed();
}