mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-05-01 10:26:12 +03:00
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
741 lines
22 KiB
C++
741 lines
22 KiB
C++
// Created on: 1993-04-21
|
|
// Created by: Bruno DUMORTIER
|
|
// Copyright (c) 1993-1999 Matra Datavision
|
|
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
|
|
#include <Adaptor3d_HCurve.hxx>
|
|
#include <Adaptor3d_HSurface.hxx>
|
|
#include <Adaptor3d_HSurfaceOfLinearExtrusion.hxx>
|
|
#include <Adaptor3d_SurfaceOfLinearExtrusion.hxx>
|
|
#include <Geom_BezierSurface.hxx>
|
|
#include <Geom_BSplineSurface.hxx>
|
|
#include <gp.hxx>
|
|
#include <gp_Ax1.hxx>
|
|
#include <gp_Cone.hxx>
|
|
#include <gp_Cylinder.hxx>
|
|
#include <gp_Dir.hxx>
|
|
#include <gp_Pln.hxx>
|
|
#include <gp_Pnt.hxx>
|
|
#include <gp_Sphere.hxx>
|
|
#include <gp_Torus.hxx>
|
|
#include <gp_Vec.hxx>
|
|
#include <Precision.hxx>
|
|
#include <Standard_DomainError.hxx>
|
|
#include <Standard_NoSuchObject.hxx>
|
|
#include <Standard_OutOfRange.hxx>
|
|
|
|
//=======================================================================
|
|
//function : Adaptor3d_SurfaceOfLinearExtrusion
|
|
//purpose :
|
|
//=======================================================================
|
|
Adaptor3d_SurfaceOfLinearExtrusion::Adaptor3d_SurfaceOfLinearExtrusion()
|
|
{}
|
|
|
|
//=======================================================================
|
|
//function : Adaptor3d_SurfaceOfLinearExtrusion
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Adaptor3d_SurfaceOfLinearExtrusion::Adaptor3d_SurfaceOfLinearExtrusion
|
|
(const Handle(Adaptor3d_HCurve)& C)
|
|
{
|
|
Load( C);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Adaptor3d_SurfaceOfLinearExtrusion
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Adaptor3d_SurfaceOfLinearExtrusion::Adaptor3d_SurfaceOfLinearExtrusion
|
|
(const Handle(Adaptor3d_HCurve)& C,
|
|
const gp_Dir& V)
|
|
{
|
|
Load( C);
|
|
Load( V);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Load
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::Load( const Handle(Adaptor3d_HCurve)& C)
|
|
{
|
|
myBasisCurve = C;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Load
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::Load( const gp_Dir& V)
|
|
{
|
|
myDirection = V;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FirstUParameter
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::FirstUParameter() const
|
|
{
|
|
return myBasisCurve->FirstParameter();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : LastUParameter
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::LastUParameter() const
|
|
{
|
|
return myBasisCurve->LastParameter();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : FirstVParameter
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::FirstVParameter() const
|
|
{
|
|
return RealFirst();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : LastVParameter
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::LastVParameter() const
|
|
{
|
|
return RealLast();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UContinuity
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
GeomAbs_Shape Adaptor3d_SurfaceOfLinearExtrusion::UContinuity() const
|
|
{
|
|
return myBasisCurve->Continuity();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : VContinuity
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
GeomAbs_Shape Adaptor3d_SurfaceOfLinearExtrusion::VContinuity() const
|
|
{
|
|
return GeomAbs_CN;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : NbUIntervals
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbUIntervals
|
|
(const GeomAbs_Shape S) const
|
|
{
|
|
return myBasisCurve->NbIntervals(S);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : NbVIntervals
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbVIntervals
|
|
(const GeomAbs_Shape ) const
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UIntervals
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::UIntervals
|
|
(TColStd_Array1OfReal& T, const GeomAbs_Shape S) const
|
|
{
|
|
myBasisCurve->Intervals(T,S);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : VIntervals
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::VIntervals
|
|
//(TColStd_Array1OfReal& T, const GeomAbs_Shape S) const
|
|
(TColStd_Array1OfReal& T, const GeomAbs_Shape ) const
|
|
{
|
|
T(T.Lower()) = FirstVParameter() ;
|
|
T(T.Lower() + 1) = LastVParameter() ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : VTrim
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Handle(Adaptor3d_HSurface) Adaptor3d_SurfaceOfLinearExtrusion::VTrim
|
|
(const Standard_Real First ,
|
|
const Standard_Real Last,
|
|
const Standard_Real Tol) const
|
|
{
|
|
Handle(Adaptor3d_HCurve) newBasisCurve =
|
|
myBasisCurve->Trim(First, Last, Tol);
|
|
|
|
Adaptor3d_SurfaceOfLinearExtrusion * SurfacePtr =
|
|
new Adaptor3d_SurfaceOfLinearExtrusion(newBasisCurve, myDirection) ;
|
|
|
|
return new Adaptor3d_HSurfaceOfLinearExtrusion(*SurfacePtr);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UTrim
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Handle(Adaptor3d_HSurface) Adaptor3d_SurfaceOfLinearExtrusion::UTrim
|
|
//(const Standard_Real First ,
|
|
// const Standard_Real Last,
|
|
// const Standard_Real Tol) const
|
|
(const Standard_Real ,
|
|
const Standard_Real ,
|
|
const Standard_Real ) const
|
|
{
|
|
Adaptor3d_SurfaceOfLinearExtrusion * SurfacePtr =
|
|
new Adaptor3d_SurfaceOfLinearExtrusion(myBasisCurve,myDirection);
|
|
|
|
return new Adaptor3d_HSurfaceOfLinearExtrusion(*SurfacePtr) ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : IsUClosed
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsUClosed() const
|
|
{
|
|
return myBasisCurve->IsClosed();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : IsVClosed
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsVClosed() const
|
|
{
|
|
return Standard_True;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : IsUPeriodic
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsUPeriodic() const
|
|
{
|
|
return myBasisCurve->IsPeriodic();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UPeriod
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::UPeriod() const
|
|
{
|
|
return myBasisCurve->Period() ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : IsVPeriodic
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsVPeriodic() const
|
|
{
|
|
return Standard_False;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : VPeriod
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::VPeriod() const
|
|
{
|
|
Standard_DomainError::Raise("Adaptor3d_SurfaceOfLinearExtrusion::VPeriod");
|
|
return 0.0e0 ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Value
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Pnt Adaptor3d_SurfaceOfLinearExtrusion::Value(const Standard_Real U,
|
|
const Standard_Real V)
|
|
const
|
|
{
|
|
gp_Pnt P;
|
|
P = myBasisCurve->Value(U);
|
|
P.Translate( V * gp_Vec(myDirection));
|
|
return P;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : D0
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::D0(const Standard_Real U,
|
|
const Standard_Real V,
|
|
gp_Pnt& P) const
|
|
{
|
|
myBasisCurve->D0(U,P);
|
|
P.Translate( V * gp_Vec(myDirection));
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : D1
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::D1(const Standard_Real U,
|
|
const Standard_Real V,
|
|
gp_Pnt& P,
|
|
gp_Vec& D1U,
|
|
gp_Vec& D1V) const
|
|
{
|
|
myBasisCurve->D1(U,P,D1U);
|
|
D0(U,V,P);
|
|
D1V = gp_Vec(myDirection);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : D2
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::D2(const Standard_Real U,
|
|
const Standard_Real V,
|
|
gp_Pnt& P,
|
|
gp_Vec& D1U, gp_Vec& D1V,
|
|
gp_Vec& D2U, gp_Vec& D2V,
|
|
gp_Vec& D2UV) const
|
|
{
|
|
myBasisCurve->D2(U,P,D1U,D2U);
|
|
D1V = gp_Vec(myDirection);
|
|
D2V.SetCoord( 0., 0., 0.);
|
|
D2UV.SetCoord( 0., 0., 0.);
|
|
D0(U,V,P);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : D3
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
void Adaptor3d_SurfaceOfLinearExtrusion::D3(const Standard_Real U,
|
|
const Standard_Real V,
|
|
gp_Pnt& P,
|
|
gp_Vec& D1U, gp_Vec& D1V,
|
|
gp_Vec& D2U, gp_Vec& D2V,
|
|
gp_Vec& D2UV,
|
|
gp_Vec& D3U, gp_Vec& D3V,
|
|
gp_Vec& D3UUV, gp_Vec& D3UVV) const
|
|
{
|
|
myBasisCurve->D3(U,P,D1U,D2U,D3U);
|
|
D1V = gp_Vec(myDirection);
|
|
D2V.SetCoord( 0., 0., 0.);
|
|
D2UV.SetCoord( 0., 0., 0.);
|
|
D3V.SetCoord( 0., 0., 0.);
|
|
D3UUV.SetCoord( 0., 0., 0.);
|
|
D3UVV.SetCoord( 0., 0., 0.);
|
|
D0(U,V,P);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : DN
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Vec Adaptor3d_SurfaceOfLinearExtrusion::DN
|
|
(const Standard_Real U,
|
|
// const Standard_Real V,
|
|
const Standard_Real ,
|
|
const Standard_Integer NU,
|
|
const Standard_Integer NV) const
|
|
{
|
|
if ( (NU+NV)<1 || NU<0 || NV<0) {
|
|
Standard_DomainError::Raise("Adaptor3d_SurfaceOfLinearExtrusion::DN");
|
|
return gp_Vec();
|
|
}
|
|
else {
|
|
if (NU == 0 && NV ==1) return gp_Vec( myDirection);
|
|
else if (NV == 0) return myBasisCurve->DN(U,NU);
|
|
else return gp_Vec( 0., 0., 0.);
|
|
}
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UResolution
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::UResolution
|
|
(const Standard_Real R3d) const
|
|
{
|
|
return myBasisCurve->Resolution(R3d);
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : VResolution
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Real Adaptor3d_SurfaceOfLinearExtrusion::VResolution
|
|
(const Standard_Real R3d) const
|
|
{
|
|
return R3d;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : GetType
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
GeomAbs_SurfaceType Adaptor3d_SurfaceOfLinearExtrusion::GetType() const
|
|
{
|
|
switch ( myBasisCurve->GetType()) {
|
|
|
|
case GeomAbs_Line:
|
|
{
|
|
gp_Dir D = myBasisCurve->Line().Direction();
|
|
if (myDirection.IsParallel( D, Precision::Angular())) {
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
}
|
|
else {
|
|
return GeomAbs_Plane;
|
|
}
|
|
}
|
|
|
|
case GeomAbs_Circle:
|
|
{
|
|
gp_Dir D = (myBasisCurve->Circle()).Axis().Direction();
|
|
if ( myDirection.IsParallel( D, Precision::Angular())) {
|
|
return GeomAbs_Cylinder;
|
|
}
|
|
// JAG 10.11.95
|
|
else if (myDirection.IsNormal(D, Precision::Angular())) {
|
|
return GeomAbs_Plane;
|
|
}
|
|
else {
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
}
|
|
}
|
|
// JAG 10.11.95
|
|
|
|
case GeomAbs_Ellipse:
|
|
{
|
|
gp_Dir D = (myBasisCurve->Ellipse()).Axis().Direction();
|
|
if (myDirection.IsNormal(D, Precision::Angular())) {
|
|
return GeomAbs_Plane;
|
|
}
|
|
else {
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
}
|
|
}
|
|
|
|
case GeomAbs_Parabola:
|
|
{
|
|
gp_Dir D = (myBasisCurve->Parabola()).Axis().Direction();
|
|
if (myDirection.IsNormal(D, Precision::Angular())) {
|
|
return GeomAbs_Plane;
|
|
}
|
|
else {
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
}
|
|
}
|
|
|
|
case GeomAbs_Hyperbola:
|
|
{
|
|
gp_Dir D = (myBasisCurve->Hyperbola()).Axis().Direction();
|
|
if (myDirection.IsNormal(D, Precision::Angular())) {
|
|
return GeomAbs_Plane;
|
|
}
|
|
else {
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
}
|
|
}
|
|
|
|
default:
|
|
return GeomAbs_SurfaceOfExtrusion;
|
|
|
|
}
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Plane
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Pln Adaptor3d_SurfaceOfLinearExtrusion::Plane() const
|
|
{
|
|
Standard_NoSuchObject_Raise_if (GetType() != GeomAbs_Plane,
|
|
"Adaptor3d_SurfaceOfLinearExtrusion::Plane");
|
|
/*
|
|
gp_Pnt P;
|
|
gp_Vec Ox, Oy;
|
|
D1( 0., 0., P, Ox, Oy);
|
|
gp_Ax3 Ax3(P,gp_Dir(Ox^Oy),gp_Dir(Ox));
|
|
if (gp_Dir(Oy).Dot(Ax3.YDirection())<0.){
|
|
Ax3.YReverse();
|
|
}
|
|
return gp_Pln(Ax3);
|
|
*/
|
|
|
|
gp_Pnt P;
|
|
gp_Vec D1u, newZ;
|
|
Standard_Real UFirst = myBasisCurve->FirstParameter();
|
|
Standard_Real ULast = myBasisCurve->LastParameter();
|
|
if (Precision::IsNegativeInfinite(UFirst) &&
|
|
Precision::IsPositiveInfinite(ULast)) {
|
|
UFirst = -100.;
|
|
ULast = 100.;
|
|
}
|
|
else if (Precision::IsNegativeInfinite(UFirst)) {
|
|
UFirst = ULast - 200.;
|
|
}
|
|
else if (Precision::IsPositiveInfinite(ULast)) {
|
|
ULast = UFirst + 200.;
|
|
}
|
|
Standard_Real deltau = (ULast-UFirst)/20.;
|
|
for (Standard_Integer i =1; i<=21; i++) {
|
|
Standard_Real prm = UFirst + (i-1)*deltau;
|
|
myBasisCurve->D1(prm,P,D1u);
|
|
newZ = D1u.Normalized().Crossed(myDirection);
|
|
if (newZ.Magnitude() > 1.e-12) break;
|
|
}
|
|
gp_Ax3 Ax3(P,gp_Dir(newZ),gp_Dir(D1u));
|
|
if (myDirection.Dot(Ax3.YDirection())<0.){
|
|
Ax3.YReverse();
|
|
}
|
|
return gp_Pln(Ax3);
|
|
}
|
|
|
|
|
|
//=======================================================================
|
|
//function : Cylinder
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Cylinder Adaptor3d_SurfaceOfLinearExtrusion::Cylinder() const
|
|
{
|
|
Standard_NoSuchObject_Raise_if
|
|
(GetType() != GeomAbs_Cylinder,
|
|
"Adaptor3d_SurfaceOfLinearExtrusion::Cylinder");
|
|
|
|
gp_Circ C = myBasisCurve->Circle() ;
|
|
gp_Ax3 Ax3(C.Position());
|
|
if(myDirection.Dot((C.Axis()).Direction())<0.){
|
|
Ax3.ZReverse();
|
|
}
|
|
return gp_Cylinder(Ax3,C.Radius());
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Cone
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Cone Adaptor3d_SurfaceOfLinearExtrusion::Cone() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Cone");
|
|
return gp_Cone();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Sphere
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Sphere Adaptor3d_SurfaceOfLinearExtrusion::Sphere() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Sphere");
|
|
return gp_Sphere();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Torus
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Torus Adaptor3d_SurfaceOfLinearExtrusion::Torus() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Torus");
|
|
return gp_Torus();
|
|
}
|
|
|
|
|
|
//=======================================================================
|
|
//function : Axis
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Ax1 Adaptor3d_SurfaceOfLinearExtrusion::AxeOfRevolution() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Axes");
|
|
return gp_Ax1();
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : UDegree
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::UDegree() const
|
|
{
|
|
return myBasisCurve -> Degree();
|
|
}
|
|
//=======================================================================
|
|
//function : NbUPoles
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbUPoles() const
|
|
{
|
|
return myBasisCurve->NbPoles();
|
|
}
|
|
//=======================================================================
|
|
//function : VDegree
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::VDegree() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::VDegree");
|
|
return 0;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : NbVPoles
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbVPoles() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::NbVPoles");
|
|
return 0;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : NbUKnots
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbUKnots() const
|
|
{
|
|
Standard_NoSuchObject::Raise
|
|
("Adaptor3d_SurfaceOfLinearExtrusion::NbUKnots");
|
|
return 0;
|
|
}
|
|
//=======================================================================
|
|
//function : NbVKnots
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Integer Adaptor3d_SurfaceOfLinearExtrusion::NbVKnots() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::NbVKnots");
|
|
return 0;
|
|
}
|
|
//=======================================================================
|
|
//function : IsURational
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsURational() const
|
|
{
|
|
Standard_NoSuchObject::Raise
|
|
("Adaptor3d_SurfaceOfLinearExtrusion::IsURational");
|
|
return Standard_False;
|
|
}
|
|
//=======================================================================
|
|
//function : IsVRational
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Standard_Boolean Adaptor3d_SurfaceOfLinearExtrusion::IsVRational() const
|
|
{
|
|
Standard_NoSuchObject::Raise
|
|
("Adaptor3d_SurfaceOfLinearExtrusion::IsVRational");
|
|
return Standard_False;
|
|
}
|
|
//=======================================================================
|
|
//function : Bezier
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
|
|
Handle(Geom_BezierSurface) Adaptor3d_SurfaceOfLinearExtrusion::Bezier() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Axes");
|
|
return Handle(Geom_BezierSurface)() ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : BSpline
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Handle(Geom_BSplineSurface) Adaptor3d_SurfaceOfLinearExtrusion::BSpline() const
|
|
{
|
|
Standard_NoSuchObject::Raise("Adaptor3d_SurfaceOfLinearExtrusion::Axes");
|
|
return Handle(Geom_BSplineSurface)() ;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : Direction
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
gp_Dir Adaptor3d_SurfaceOfLinearExtrusion::Direction() const
|
|
{
|
|
return myDirection;
|
|
}
|
|
|
|
//=======================================================================
|
|
//function : BasisCurve
|
|
//purpose :
|
|
//=======================================================================
|
|
|
|
Handle(Adaptor3d_HCurve) Adaptor3d_SurfaceOfLinearExtrusion::BasisCurve() const
|
|
{
|
|
return myBasisCurve;
|
|
}
|