1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
4 // This file is part of Open CASCADE Technology software library.
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
15 #include <Standard_DomainError.hxx>
16 #include <gp_Vec2d.hxx>
18 inline void Blend_Point::SetParameter(const Standard_Real Param)
23 inline const gp_Pnt& Blend_Point::PointOnS1 () const
28 inline const gp_Pnt& Blend_Point::PointOnS2 () const
33 inline Standard_Real Blend_Point::Parameter () const
38 inline void Blend_Point::ParametersOnS1 (Standard_Real& U1,
39 Standard_Real& V1) const
41 if (!hass1) {throw Standard_DomainError();}
46 inline void Blend_Point::ParametersOnS2 (Standard_Real& U2,
47 Standard_Real& V2) const
49 if (!hass2) {throw Standard_DomainError();}
54 inline Standard_Boolean Blend_Point::IsTangencyPoint () const
60 inline const gp_Vec& Blend_Point::TangentOnS1 () const
62 if (istgt) {throw Standard_DomainError();}
66 inline const gp_Vec& Blend_Point::TangentOnS2 () const
68 if (istgt) {throw Standard_DomainError();}
72 inline gp_Vec2d Blend_Point::Tangent2dOnS1 () const
74 if (istgt || !hass1) {throw Standard_DomainError();}
75 return gp_Vec2d(utg12d,vtg12d);
78 inline gp_Vec2d Blend_Point::Tangent2dOnS2 () const
80 if (istgt || !hass2) {throw Standard_DomainError();}
81 return gp_Vec2d(utg22d,vtg22d);
84 inline const gp_Pnt& Blend_Point::PointOnS () const
89 inline const gp_Pnt& Blend_Point::PointOnC () const
94 inline void Blend_Point::ParametersOnS (Standard_Real& U1,
95 Standard_Real& V1) const
97 if (!hass1) {throw Standard_DomainError();}
102 inline Standard_Real Blend_Point::ParameterOnC () const
104 if (!hasc2) {throw Standard_DomainError();}
108 inline const gp_Vec& Blend_Point::TangentOnS () const
110 if (istgt || !hass1) {throw Standard_DomainError();}
114 inline const gp_Vec& Blend_Point::TangentOnC () const
116 if (istgt) {throw Standard_DomainError();}
120 inline gp_Vec2d Blend_Point::Tangent2d () const
122 if (istgt || !hass1) {throw Standard_DomainError();}
123 return gp_Vec2d(utg12d,vtg12d);
127 inline const gp_Pnt& Blend_Point::PointOnC1 () const
132 inline const gp_Pnt& Blend_Point::PointOnC2 () const
137 inline Standard_Real Blend_Point::ParameterOnC1 () const
139 if (!hasc1) {throw Standard_DomainError();}
143 inline Standard_Real Blend_Point::ParameterOnC2 () const
145 if (!hasc2) {throw Standard_DomainError();}
149 inline const gp_Vec& Blend_Point::TangentOnC1 () const
151 if (istgt || !hass1) {throw Standard_DomainError();}
155 inline const gp_Vec& Blend_Point::TangentOnC2 () const
157 if (istgt) {throw Standard_DomainError();}