mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
In scope of this issue next unused generic class will be removed: - IntImp_CSCurveTool - IntImp_CSFunction - IntImp_CurveTool - IntImp_ISurfaceTool - IntImp_PSurfaceTool - IntStart_ArcTool - IntStart_PSurfaceTool - IntStart_SIFunction - IntStart_SITool - IntStart_SOBFunction - IntStart_SOBTool - IntStart_TopolTool - IntWalk_IWFunction - IntWalk_Iterator - IntWalk_LoopPointTool - IntWalk_PSurfaceTool - IntWalk_PathPointTool - Intf_ToolPolyhedron - LProp_CurveTool - LProp_SurfaceTool - LibCtl_ProtocolTemplate - MAT_Tool - Primitives_Builder - Sweep_Builder - Sweep_Iterator - Sweep_Tool - TopClass_FaceExplorer - TopClass_Intersection2d - HatchGen_Intersector - IFSelect_SelectList - IntCurveSurface_CurveTool - IntImp_COnSCurveTool - IntImpParGen_ParTool
187 lines
6.7 KiB
Plaintext
187 lines
6.7 KiB
Plaintext
-- Created on: 1992-09-29
|
|
-- Created by: Didier PIFFAULT
|
|
-- 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.
|
|
|
|
generic class InterferencePolygonPolyhedron from Intf
|
|
(Polygon3d as any;
|
|
ToolPolygon3d as any; -- as ToolPolygon(Pnt,Polygon3d,Box)
|
|
Polyhedron as any;
|
|
ToolPolyh as any)
|
|
inherits Interference from Intf
|
|
|
|
---Purpose: Computes the interference between a polygon and a
|
|
-- Polyhedron.
|
|
|
|
uses Pnt from gp,
|
|
Lin from gp,
|
|
XYZ from gp,
|
|
Array1OfLin from Intf,
|
|
SectionPoint from Intf,
|
|
SeqOfSectionPoint from Intf,
|
|
TangentZone from Intf,
|
|
SeqOfTangentZone from Intf,
|
|
BoundSortBox from Bnd
|
|
|
|
is
|
|
|
|
-- Interface :
|
|
|
|
Create returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs an empty interference between Polygon and
|
|
-- Polyhedron.
|
|
|
|
Create (thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the Polygon
|
|
-- and the Polyhedron.
|
|
|
|
Create (theLin : in Lin from gp;
|
|
thePolyh : in Polyhedron)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the
|
|
-- Straight Line and the Polyhedron.
|
|
|
|
Create (theLins : in Array1OfLin from Intf;
|
|
thePolyh : in Polyhedron)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the
|
|
-- Straight Lines and the Polyhedron.
|
|
|
|
Perform (me : in out;
|
|
thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron)
|
|
---Purpose: Computes an interference between the Polygon and the
|
|
-- Polyhedron.
|
|
is static;
|
|
|
|
Perform (me : in out;
|
|
theLin : in Lin from gp;
|
|
thePolyh : Polyhedron)
|
|
---Purpose: Computes an interference between the Straight Line and the
|
|
-- Polyhedron.
|
|
is static;
|
|
|
|
Perform (me : in out;
|
|
theLins : in Array1OfLin from Intf;
|
|
thePolyh : in Polyhedron)
|
|
---Purpose: Computes an interference between the Straight Lines and
|
|
-- the Polyhedron.
|
|
is static;
|
|
|
|
|
|
|
|
|
|
--------------- Optimisation : On Passe le Bnd_BoundSortBox
|
|
|
|
|
|
Create (thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the Polygon
|
|
-- and the Polyhedron.
|
|
|
|
Create (theLin : in Lin from gp;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the
|
|
-- Straight Line and the Polyhedron.
|
|
|
|
Create (theLins : in Array1OfLin from Intf;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
returns InterferencePolygonPolyhedron from Intf;
|
|
---Purpose: Constructs and computes an interference between the
|
|
-- Straight Lines and the Polyhedron.
|
|
|
|
Perform (me : in out;
|
|
thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
---Purpose: Computes an interference between the Polygon and the
|
|
-- Polyhedron.
|
|
is static;
|
|
|
|
Perform (me : in out;
|
|
theLin : in Lin from gp;
|
|
thePolyh : Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
---Purpose: Computes an interference between the Straight Line and the
|
|
-- Polyhedron.
|
|
is static;
|
|
|
|
Perform (me : in out;
|
|
theLins : in Array1OfLin from Intf;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
---Purpose: Computes an interference between the Straight Lines and
|
|
-- the Polyhedron.
|
|
is static;
|
|
|
|
|
|
|
|
Interference (me : in out;
|
|
thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron;
|
|
theBoundSB : in out BoundSortBox from Bnd)
|
|
is static;
|
|
---Purpose: Compares the boundings between the segment of <thePolyg> and
|
|
-- the facets of <thePolyh>.
|
|
|
|
|
|
|
|
|
|
-- Implementation :
|
|
|
|
Interference (me : in out;
|
|
thePolyg : in Polygon3d;
|
|
thePolyh : in Polyhedron)
|
|
is static;
|
|
---Purpose: Compares the boundings between the segment of <thePolyg> and
|
|
-- the facets of <thePolyh>.
|
|
|
|
|
|
Intersect (me : in out;
|
|
BegO : in Pnt from gp;
|
|
EndO : in Pnt from gp;
|
|
Infinite : Boolean from Standard;
|
|
TTri : in Integer from Standard;
|
|
thePolyh : in Polyhedron)
|
|
is static private;
|
|
---Purpose: Computes the intersection between the segment <BegO><EndO>
|
|
-- and the triangle <TTri> of <thePolyh>.
|
|
|
|
Intersect (me : in out;
|
|
BegO : in Pnt from gp;
|
|
EndO : in Pnt from gp;
|
|
Infinite : Boolean from Standard;
|
|
TTri : in Integer from Standard;
|
|
thePolyh : in Polyhedron;
|
|
TriNormal: in XYZ from gp;
|
|
TriDp : in Real from Standard;
|
|
dBegTri : in Real from Standard;
|
|
dEndTri : in Real from Standard)
|
|
is static private;
|
|
---Purpose: Computes the intersection between the segment <BegO><EndO>
|
|
-- and the triangle <TTri> of <thePolyh>.
|
|
|
|
fields
|
|
BeginOfClosedPolygon: Boolean from Standard;
|
|
iLin : Integer from Standard;
|
|
|
|
end InterferencePolygonPolyhedron;
|