mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-10 09:30:48 +08:00
- Updated multiple files in the HLRBRep module to replace occurrences of Standard_Address with new type aliases HLRBRep_CurvePtr and HLRBRep_SurfacePtr. - Introduced HLRBRep_TypeDef.hxx to define these type aliases for better clarity and maintainability. - Adjusted constructors, method signatures, and internal variable types to use the new pointer types. - Ensured compatibility with existing functionality while enhancing type safety and readability.
63 lines
2.3 KiB
C++
63 lines
2.3 KiB
C++
// Created on: 1992-10-14
|
|
// Created by: Christophe MARION
|
|
// Copyright (c) 1992-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 <HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter.hxx>
|
|
|
|
#include <IntCurve_IConicTool.hxx>
|
|
#include <HLRBRep_CurveTool.hxx>
|
|
|
|
#include <gp_Vec2d.hxx>
|
|
|
|
HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter::
|
|
HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter(const IntCurve_IConicTool& ITool,
|
|
const HLRBRep_CurvePtr& PC)
|
|
: TheImpTool(ITool)
|
|
{
|
|
TheParCurve = (HLRBRep_CurvePtr)(&PC);
|
|
}
|
|
|
|
Standard_Boolean HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter::Value(
|
|
const Standard_Real Param,
|
|
Standard_Real& ApproxDistance)
|
|
{
|
|
ApproxDistance =
|
|
TheImpTool.Distance(HLRBRep_CurveTool::Value((*((HLRBRep_CurvePtr*)(TheParCurve))), Param));
|
|
return (Standard_True);
|
|
}
|
|
|
|
Standard_Boolean HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter::Derivative(
|
|
const Standard_Real Param,
|
|
Standard_Real& D_ApproxDistance_DV)
|
|
{
|
|
gp_Pnt2d Pt;
|
|
gp_Vec2d TanParCurve;
|
|
gp_Vec2d Grad =
|
|
TheImpTool.GradDistance(HLRBRep_CurveTool::Value((*((HLRBRep_CurvePtr*)(TheParCurve))), Param));
|
|
HLRBRep_CurveTool::D1((*((HLRBRep_CurvePtr*)(TheParCurve))), Param, Pt, TanParCurve);
|
|
D_ApproxDistance_DV = Grad.Dot(TanParCurve);
|
|
return (Standard_True);
|
|
}
|
|
|
|
Standard_Boolean HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter::Values(
|
|
const Standard_Real Param,
|
|
Standard_Real& ApproxDistance,
|
|
Standard_Real& Deriv)
|
|
{
|
|
this->Value(Param, ApproxDistance);
|
|
this->Derivative(Param, Deriv);
|
|
return (Standard_True);
|
|
}
|