mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024002: Overall code and build procedure refactoring -- automatic
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
This commit is contained in:
@@ -1,10 +1,27 @@
|
||||
IntPolyh_Intersection_1.cxx
|
||||
IntPolyh_Array.hxx
|
||||
IntPolyh_ArrayOfSectionLines.hxx
|
||||
IntPolyh_ArrayOfCouples.hxx
|
||||
IntPolyh_ArrayOfEdges.hxx
|
||||
IntPolyh_ArrayOfPoints.hxx
|
||||
IntPolyh_ArrayOfSectionLines.hxx
|
||||
IntPolyh_ArrayOfStartPoints.hxx
|
||||
IntPolyh_ArrayOfTangentZones.hxx
|
||||
IntPolyh_ArrayOfTriangles.hxx
|
||||
IntPolyh_Couple.cxx
|
||||
IntPolyh_Couple.hxx
|
||||
IntPolyh_Edge.cxx
|
||||
IntPolyh_Edge.hxx
|
||||
IntPolyh_Intersection.cxx
|
||||
IntPolyh_Intersection.hxx
|
||||
IntPolyh_Intersection_1.cxx
|
||||
IntPolyh_MaillageAffinage.cxx
|
||||
IntPolyh_MaillageAffinage.hxx
|
||||
IntPolyh_PMaillageAffinage.hxx
|
||||
IntPolyh_Point.cxx
|
||||
IntPolyh_Point.hxx
|
||||
IntPolyh_SectionLine.cxx
|
||||
IntPolyh_SectionLine.hxx
|
||||
IntPolyh_SeqOfStartPoints.hxx
|
||||
IntPolyh_StartPoint.cxx
|
||||
IntPolyh_StartPoint.hxx
|
||||
IntPolyh_Triangle.cxx
|
||||
IntPolyh_Triangle.hxx
|
||||
|
@@ -1,105 +0,0 @@
|
||||
-- Created on: 1999-03-03
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
-- Modified by skv - Thu Sep 25 18:04:05 2003 OCC567
|
||||
-- Definition of new pointer to MaillageAffinage
|
||||
-- which is used in Intersection class.
|
||||
|
||||
package IntPolyh
|
||||
|
||||
---Purpose: This package provides algorithms to compute
|
||||
-- starting points for the surface surface
|
||||
-- intersection packages. Those starting points are
|
||||
-- used if the two surfaces are bi-parametric
|
||||
-- surfaces (bezier, nurbs, algorithm surfaces ...)
|
||||
--
|
||||
-- This package provides methods
|
||||
--
|
||||
-- to compute meshes on the two surfaces. The meshes can
|
||||
-- be refined if necessary. It is the major improvement
|
||||
-- to the Intf package which gives the same kind of
|
||||
-- ressources.
|
||||
--
|
||||
-- to intersect the two meshes
|
||||
--
|
||||
-- to give approximated starting-points. Those points are
|
||||
-- organised in lines, when the points belong to a same
|
||||
-- section line, or returned as isolated points when they
|
||||
-- can neither define a new line nor be linked to an
|
||||
-- existant line.
|
||||
--
|
||||
-- A starting-point contains 3d information, parametric
|
||||
-- ionformation and quality criterion. (i.e. X,Y,Z, U1,V1,
|
||||
-- U2,V2, Incidence). Incidence is a real wich gives an
|
||||
-- estimated angle between the two surfaces near the
|
||||
-- intersection point.
|
||||
--
|
||||
--
|
||||
|
||||
uses
|
||||
TCollection,
|
||||
TColStd,
|
||||
gp,
|
||||
Bnd,
|
||||
Adaptor3d
|
||||
|
||||
is
|
||||
imported ArrayOfSectionLines from IntPolyh;
|
||||
imported ArrayOfCouples from IntPolyh;
|
||||
imported ArrayOfEdges from IntPolyh;
|
||||
imported ArrayOfPoints from IntPolyh;
|
||||
imported ArrayOfStartPoints from IntPolyh;
|
||||
imported ArrayOfTangentZones from IntPolyh;
|
||||
imported ArrayOfTriangles from IntPolyh;
|
||||
|
||||
class Intersection;
|
||||
|
||||
|
||||
------------------------------------------------------------
|
||||
---- Internal classes and algorithms
|
||||
------------------------------------------------------------
|
||||
class Couple;
|
||||
|
||||
|
||||
class Point;
|
||||
class StartPoint;
|
||||
imported SeqOfStartPoints;
|
||||
|
||||
class Edge;
|
||||
|
||||
|
||||
class Triangle;
|
||||
|
||||
|
||||
class MaillageAffinage;
|
||||
|
||||
class SectionLine;
|
||||
|
||||
|
||||
-- class TangentZone; For the moment we use the StartPoint Class
|
||||
|
||||
pointer PMaillageAffinage to MaillageAffinage from IntPolyh;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -1,65 +0,0 @@
|
||||
-- Created on: 1999-04-08
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
class Couple from IntPolyh
|
||||
---Purpose: couple of triangles
|
||||
|
||||
uses
|
||||
|
||||
Pnt from gp
|
||||
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create;
|
||||
|
||||
Create(i1,i2: Integer from Standard) ;
|
||||
|
||||
FirstValue(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondValue(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
AnalyseFlagValue(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
AngleValue(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
SetCoupleValue(me: in out; v,w: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetAnalyseFlag(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetAngleValue(me: in out; ang: Real from Standard)
|
||||
is static;
|
||||
|
||||
Dump(me; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
t1,t2,ia : Integer from Standard;
|
||||
angle : Real from Standard;
|
||||
|
||||
end Couple from IntPolyh;
|
@@ -14,9 +14,10 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_Couple.ixx>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
IntPolyh_Couple::IntPolyh_Couple() : t1(-1),t2(-1),ia(0),angle(-2.0) { }
|
||||
|
||||
IntPolyh_Couple::IntPolyh_Couple(const Standard_Integer a,const Standard_Integer b) : t1(a),t2(b),ia(0),angle(-2.0) { }
|
||||
|
83
src/IntPolyh/IntPolyh_Couple.hxx
Normal file
83
src/IntPolyh/IntPolyh_Couple.hxx
Normal file
@@ -0,0 +1,83 @@
|
||||
// Created on: 1999-04-08
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_Couple_HeaderFile
|
||||
#define _IntPolyh_Couple_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
|
||||
|
||||
//! couple of triangles
|
||||
class IntPolyh_Couple
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_Couple();
|
||||
|
||||
Standard_EXPORT IntPolyh_Couple(const Standard_Integer i1, const Standard_Integer i2);
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstValue() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondValue() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer AnalyseFlagValue() const;
|
||||
|
||||
Standard_EXPORT Standard_Real AngleValue() const;
|
||||
|
||||
Standard_EXPORT void SetCoupleValue (const Standard_Integer v, const Standard_Integer w);
|
||||
|
||||
Standard_EXPORT void SetAnalyseFlag (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetAngleValue (const Standard_Real ang);
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer v) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Integer t1;
|
||||
Standard_Integer t2;
|
||||
Standard_Integer ia;
|
||||
Standard_Real angle;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_Couple_HeaderFile
|
@@ -1,81 +0,0 @@
|
||||
-- Created on: 1999-03-05
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
class Edge from IntPolyh
|
||||
|
||||
uses
|
||||
|
||||
Pnt from gp
|
||||
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create;
|
||||
|
||||
Create(i1,i2,i3,i4: Integer from Standard) ;
|
||||
|
||||
FirstPoint(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondPoint(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
FirstTriangle(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondTriangle(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
AnalysisFlag(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
-- GetTriangles(me; T1,T2: Integer from Standard)
|
||||
-- is static;
|
||||
|
||||
SetFirstPoint(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetSecondPoint(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetFirstTriangle(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetSecondTriangle(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetAnalysisFlag(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
-- SetTriangles(me: in out; T1,T2: in out Integer from Standard)
|
||||
-- is static;
|
||||
|
||||
Dump(me; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
p1,p2 : Integer from Standard;
|
||||
t1,t2 : Integer from Standard;
|
||||
ia : Integer from Standard;
|
||||
|
||||
end Edge from IntPolyh;
|
@@ -14,9 +14,10 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_Edge.ixx>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <IntPolyh_Edge.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
IntPolyh_Edge::IntPolyh_Edge() : p1(-1),p2(-1),t1(-1),t2(-1),ia(-1) { }
|
||||
|
||||
IntPolyh_Edge::IntPolyh_Edge(const Standard_Integer a, const Standard_Integer b,
|
||||
|
89
src/IntPolyh/IntPolyh_Edge.hxx
Normal file
89
src/IntPolyh/IntPolyh_Edge.hxx
Normal file
@@ -0,0 +1,89 @@
|
||||
// Created on: 1999-03-05
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_Edge_HeaderFile
|
||||
#define _IntPolyh_Edge_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
|
||||
|
||||
|
||||
class IntPolyh_Edge
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_Edge();
|
||||
|
||||
Standard_EXPORT IntPolyh_Edge(const Standard_Integer i1, const Standard_Integer i2, const Standard_Integer i3, const Standard_Integer i4);
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstTriangle() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondTriangle() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer AnalysisFlag() const;
|
||||
|
||||
Standard_EXPORT void SetFirstPoint (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetSecondPoint (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetFirstTriangle (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetSecondTriangle (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetAnalysisFlag (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer v) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Integer p1;
|
||||
Standard_Integer p2;
|
||||
Standard_Integer t1;
|
||||
Standard_Integer t2;
|
||||
Standard_Integer ia;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_Edge_HeaderFile
|
@@ -1,231 +0,0 @@
|
||||
-- Created on: 1999-03-03
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
-- Modified by skv - Thu Sep 25 17:57:09 2003 OCC567
|
||||
-- Add two private methods: PerformMaillage(..) and MergeCouples(..) and several
|
||||
-- private fields. Removed field MaillageS.
|
||||
-- The method MergeCouples(..) is used
|
||||
-- to remove same couples of interferable triangles from different
|
||||
-- MaillageAffinage's in order to avoid taking them into section lines several
|
||||
-- times.
|
||||
|
||||
class Intersection from IntPolyh
|
||||
---Purpose: the main algorithm. Algorithm outputs are
|
||||
-- lines and points like describe in the last
|
||||
-- paragraph. The Algorithm provides direct access to
|
||||
-- the elements of those lines and points. Other
|
||||
-- classes of this package are for internal use and
|
||||
-- only concern the algorithmic part.
|
||||
|
||||
uses
|
||||
|
||||
Pnt from gp,
|
||||
HSurface from Adaptor3d,
|
||||
Array1OfReal from TColStd,
|
||||
Point from IntPolyh,
|
||||
Edge from IntPolyh,
|
||||
Triangle from IntPolyh,
|
||||
ArrayOfPoints from IntPolyh,
|
||||
ArrayOfEdges from IntPolyh,
|
||||
ArrayOfTriangles from IntPolyh,
|
||||
PMaillageAffinage from IntPolyh,
|
||||
SectionLine from IntPolyh,
|
||||
ArrayOfSectionLines from IntPolyh,
|
||||
--TangentZones from IntPolyh, On utilise la classe StartPoint
|
||||
ArrayOfTangentZones from IntPolyh,
|
||||
ArrayOfCouples from IntPolyh
|
||||
|
||||
is
|
||||
|
||||
Create(S1,S2 : HSurface from Adaptor3d);
|
||||
|
||||
---Purpose: Constructor
|
||||
--
|
||||
--
|
||||
|
||||
Create(S1 : HSurface from Adaptor3d;
|
||||
NbSU1,NbSV1 : Integer from Standard;
|
||||
S2 : HSurface from Adaptor3d;
|
||||
NbSU2,NbSV2 : Integer from Standard);
|
||||
|
||||
---Purpose: NbSU1 ... NbSV2 are used to compute the initial
|
||||
-- samples of the iso parametric meshes on the
|
||||
-- surfaces.
|
||||
Create(S1 : HSurface from Adaptor3d;
|
||||
anUpars1, aVpars1 : Array1OfReal from TColStd;
|
||||
S2 : HSurface from Adaptor3d;
|
||||
anUpars2, aVpars2 : Array1OfReal from TColStd);
|
||||
|
||||
---Purpose: D1, D2 are used to compute the initial
|
||||
-- samples of the iso parametric meshes on the
|
||||
-- surfaces.
|
||||
|
||||
Perform(me: in out)
|
||||
|
||||
---Purpose: Compute the intersection.
|
||||
|
||||
is static;
|
||||
|
||||
Perform(me: in out;
|
||||
Upars1, Vpars1, Upars2, Vpars2 : Array1OfReal from TColStd)
|
||||
|
||||
---Purpose: Compute the intersection.
|
||||
|
||||
is static;
|
||||
|
||||
|
||||
IsDone(me)
|
||||
|
||||
returns Boolean from Standard
|
||||
is static;
|
||||
|
||||
---------------------------------------------------------------
|
||||
|
||||
NbSectionLines(me)
|
||||
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
|
||||
NbPointsInLine(me; IndexLine: Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
GetLinePoint(me; IndexLine,IndexPoint: Integer from Standard;
|
||||
x,y,z,u1,v1,u2,v2,incidence : out Real from Standard)
|
||||
is static;
|
||||
|
||||
---------------------------------------------------------------
|
||||
|
||||
NbTangentZones(me)
|
||||
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
|
||||
NbPointsInTangentZone(me; IndexLine: Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
GetTangentZonePoint(me; IndexLine,IndexPoint: Integer from Standard;
|
||||
x,y,z,u1,v1,u2,v2 : out Real from Standard)
|
||||
is static;
|
||||
|
||||
-- Modified by skv - Thu Sep 25 17:57:09 2003 OCC567 Begin
|
||||
PerformMaillage(me: in out;
|
||||
isFirstFwd : Boolean from Standard;
|
||||
isSecondFwd : Boolean from Standard;
|
||||
MaillageS : in out PMaillageAffinage from IntPolyh)
|
||||
---Purpose: Computes MaillageAffinage
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
PerformMaillage(me: in out; MaillageS: in out PMaillageAffinage from IntPolyh)
|
||||
---Purpose: The method PerformMaillage(..) is used to compute MaillageAffinage. It is
|
||||
-- called four times (two times for each surface) for creation of inscribed
|
||||
-- and circumscribed mesh for each surface.
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
-- Modified by skv - Thu Sep 25 17:57:09 2003 OCC567 Begin
|
||||
PerformMaillage(me: in out;
|
||||
isFirstFwd : Boolean from Standard;
|
||||
isSecondFwd : Boolean from Standard;
|
||||
Upars1, Vpars1, Upars2, Vpars2 : Array1OfReal from TColStd;
|
||||
MaillageS : in out PMaillageAffinage from IntPolyh)
|
||||
---Purpose: Computes MaillageAffinage
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
PerformMaillage(me: in out; Upars1, Vpars1, Upars2, Vpars2 : Array1OfReal from TColStd;
|
||||
MaillageS: in out PMaillageAffinage from IntPolyh)
|
||||
---Purpose: The method PerformMaillage(..) is used to compute MaillageAffinage. It is
|
||||
-- called four times (two times for each surface) for creation of inscribed
|
||||
-- and circumscribed mesh for each surface.
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
|
||||
MergeCouples(me; anArrayFF: in out ArrayOfCouples from IntPolyh;
|
||||
anArrayFR: in out ArrayOfCouples from IntPolyh;
|
||||
anArrayRF: in out ArrayOfCouples from IntPolyh;
|
||||
anArrayRR: in out ArrayOfCouples from IntPolyh)
|
||||
---Purpose: This method analyzes arrays to find same couples. If some
|
||||
-- are detected it leaves the couple in only one array
|
||||
-- deleting from others.
|
||||
is static private;
|
||||
-- Modified by skv - Thu Sep 25 17:57:11 2003 OCC567 End
|
||||
-- ofv from
|
||||
PerformStd(me: in out;
|
||||
MaillageS: in out PMaillageAffinage from IntPolyh;
|
||||
NbCouples: in out Integer from Standard)
|
||||
---Purpose: Process default interference
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
PerformAdv(me: in out;
|
||||
MaillageFF: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageFR: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageRF: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageRR: in out PMaillageAffinage from IntPolyh;
|
||||
NbCouples : in out Integer from Standard)
|
||||
---Purpose: Process advanced interference
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
PerformStd(me: in out;
|
||||
Upars1, Vpars1, Upars2, Vpars2 : Array1OfReal from TColStd;
|
||||
MaillageS: in out PMaillageAffinage from IntPolyh;
|
||||
NbCouples: in out Integer from Standard)
|
||||
---Purpose: Process default interference
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
|
||||
PerformAdv(me: in out;
|
||||
Upars1, Vpars1, Upars2, Vpars2 : Array1OfReal from TColStd;
|
||||
MaillageFF: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageFR: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageRF: in out PMaillageAffinage from IntPolyh;
|
||||
MaillageRR: in out PMaillageAffinage from IntPolyh;
|
||||
NbCouples : in out Integer from Standard)
|
||||
---Purpose: Process advanced interference
|
||||
returns Boolean from Standard
|
||||
is static private;
|
||||
-- ofv to
|
||||
|
||||
|
||||
fields
|
||||
|
||||
done : Boolean from Standard;
|
||||
nbsectionlines : Integer from Standard;
|
||||
nbtangentzones : Integer from Standard;
|
||||
|
||||
TSectionLines : ArrayOfSectionLines from IntPolyh;
|
||||
TTangentZones : ArrayOfTangentZones from IntPolyh;
|
||||
|
||||
-- Modified by skv - Thu Sep 25 17:38:57 2003 OCC567 Begin
|
||||
-- MaillageS : MaillageAffinage from IntPolyh;
|
||||
myNbSU1 : Integer from Standard;
|
||||
myNbSV1 : Integer from Standard;
|
||||
myNbSU2 : Integer from Standard;
|
||||
myNbSV2 : Integer from Standard;
|
||||
-- Modified by skv - Thu Sep 25 17:38:58 2003 OCC567 End
|
||||
|
||||
mySurf1 : HSurface from Adaptor3d;
|
||||
mySurf2 : HSurface from Adaptor3d;
|
||||
|
||||
end Intersection from IntPolyh;
|
||||
|
||||
|
@@ -17,11 +17,12 @@
|
||||
// modified by Edward AGAPOV (eap) Tue Jan 22 12:29:55 2002 (occ53)
|
||||
// Modified by skv - Thu Sep 25 18:24:29 2003 OCC567
|
||||
|
||||
#include <IntPolyh_Intersection.ixx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
#include <IntPolyh_Intersection.hxx>
|
||||
#include <IntPolyh_MaillageAffinage.hxx>
|
||||
#include <IntPolyh_SectionLine.hxx>
|
||||
#include <IntPolyh_StartPoint.hxx>
|
||||
#include <IntPolyh_MaillageAffinage.hxx>
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
|
||||
Standard_Integer MYDISPLAY = 0;
|
||||
|
148
src/IntPolyh/IntPolyh_Intersection.hxx
Normal file
148
src/IntPolyh/IntPolyh_Intersection.hxx
Normal file
@@ -0,0 +1,148 @@
|
||||
// Created on: 1999-03-03
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_Intersection_HeaderFile
|
||||
#define _IntPolyh_Intersection_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <IntPolyh_ArrayOfSectionLines.hxx>
|
||||
#include <IntPolyh_ArrayOfTangentZones.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <IntPolyh_PMaillageAffinage.hxx>
|
||||
#include <IntPolyh_ArrayOfCouples.hxx>
|
||||
class Adaptor3d_HSurface;
|
||||
|
||||
|
||||
//! the main algorithm. Algorithm outputs are
|
||||
//! lines and points like describe in the last
|
||||
//! paragraph. The Algorithm provides direct access to
|
||||
//! the elements of those lines and points. Other
|
||||
//! classes of this package are for internal use and
|
||||
//! only concern the algorithmic part.
|
||||
class IntPolyh_Intersection
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Constructor
|
||||
Standard_EXPORT IntPolyh_Intersection(const Handle(Adaptor3d_HSurface)& S1, const Handle(Adaptor3d_HSurface)& S2);
|
||||
|
||||
//! NbSU1 ... NbSV2 are used to compute the initial
|
||||
//! samples of the iso parametric meshes on the
|
||||
//! surfaces.
|
||||
Standard_EXPORT IntPolyh_Intersection(const Handle(Adaptor3d_HSurface)& S1, const Standard_Integer NbSU1, const Standard_Integer NbSV1, const Handle(Adaptor3d_HSurface)& S2, const Standard_Integer NbSU2, const Standard_Integer NbSV2);
|
||||
|
||||
//! D1, D2 are used to compute the initial
|
||||
//! samples of the iso parametric meshes on the
|
||||
//! surfaces.
|
||||
Standard_EXPORT IntPolyh_Intersection(const Handle(Adaptor3d_HSurface)& S1, const TColStd_Array1OfReal& anUpars1, const TColStd_Array1OfReal& aVpars1, const Handle(Adaptor3d_HSurface)& S2, const TColStd_Array1OfReal& anUpars2, const TColStd_Array1OfReal& aVpars2);
|
||||
|
||||
//! Compute the intersection.
|
||||
Standard_EXPORT void Perform();
|
||||
|
||||
//! Compute the intersection.
|
||||
Standard_EXPORT void Perform (const TColStd_Array1OfReal& Upars1, const TColStd_Array1OfReal& Vpars1, const TColStd_Array1OfReal& Upars2, const TColStd_Array1OfReal& Vpars2);
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsDone() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NbSectionLines() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NbPointsInLine (const Standard_Integer IndexLine) const;
|
||||
|
||||
Standard_EXPORT void GetLinePoint (const Standard_Integer IndexLine, const Standard_Integer IndexPoint, Standard_Real& x, Standard_Real& y, Standard_Real& z, Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2, Standard_Real& incidence) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NbTangentZones() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NbPointsInTangentZone (const Standard_Integer IndexLine) const;
|
||||
|
||||
Standard_EXPORT void GetTangentZonePoint (const Standard_Integer IndexLine, const Standard_Integer IndexPoint, Standard_Real& x, Standard_Real& y, Standard_Real& z, Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
//! Computes MaillageAffinage
|
||||
Standard_EXPORT Standard_Boolean PerformMaillage (const Standard_Boolean isFirstFwd, const Standard_Boolean isSecondFwd, IntPolyh_PMaillageAffinage& MaillageS);
|
||||
|
||||
//! The method PerformMaillage(..) is used to compute MaillageAffinage. It is
|
||||
//! called four times (two times for each surface) for creation of inscribed
|
||||
//! and circumscribed mesh for each surface.
|
||||
Standard_EXPORT Standard_Boolean PerformMaillage (IntPolyh_PMaillageAffinage& MaillageS);
|
||||
|
||||
//! Computes MaillageAffinage
|
||||
Standard_EXPORT Standard_Boolean PerformMaillage (const Standard_Boolean isFirstFwd, const Standard_Boolean isSecondFwd, const TColStd_Array1OfReal& Upars1, const TColStd_Array1OfReal& Vpars1, const TColStd_Array1OfReal& Upars2, const TColStd_Array1OfReal& Vpars2, IntPolyh_PMaillageAffinage& MaillageS);
|
||||
|
||||
//! The method PerformMaillage(..) is used to compute MaillageAffinage. It is
|
||||
//! called four times (two times for each surface) for creation of inscribed
|
||||
//! and circumscribed mesh for each surface.
|
||||
Standard_EXPORT Standard_Boolean PerformMaillage (const TColStd_Array1OfReal& Upars1, const TColStd_Array1OfReal& Vpars1, const TColStd_Array1OfReal& Upars2, const TColStd_Array1OfReal& Vpars2, IntPolyh_PMaillageAffinage& MaillageS);
|
||||
|
||||
//! This method analyzes arrays to find same couples. If some
|
||||
//! are detected it leaves the couple in only one array
|
||||
//! deleting from others.
|
||||
Standard_EXPORT void MergeCouples (IntPolyh_ArrayOfCouples& anArrayFF, IntPolyh_ArrayOfCouples& anArrayFR, IntPolyh_ArrayOfCouples& anArrayRF, IntPolyh_ArrayOfCouples& anArrayRR) const;
|
||||
|
||||
//! Process default interference
|
||||
Standard_EXPORT Standard_Boolean PerformStd (IntPolyh_PMaillageAffinage& MaillageS, Standard_Integer& NbCouples);
|
||||
|
||||
//! Process advanced interference
|
||||
Standard_EXPORT Standard_Boolean PerformAdv (IntPolyh_PMaillageAffinage& MaillageFF, IntPolyh_PMaillageAffinage& MaillageFR, IntPolyh_PMaillageAffinage& MaillageRF, IntPolyh_PMaillageAffinage& MaillageRR, Standard_Integer& NbCouples);
|
||||
|
||||
//! Process default interference
|
||||
Standard_EXPORT Standard_Boolean PerformStd (const TColStd_Array1OfReal& Upars1, const TColStd_Array1OfReal& Vpars1, const TColStd_Array1OfReal& Upars2, const TColStd_Array1OfReal& Vpars2, IntPolyh_PMaillageAffinage& MaillageS, Standard_Integer& NbCouples);
|
||||
|
||||
//! Process advanced interference
|
||||
Standard_EXPORT Standard_Boolean PerformAdv (const TColStd_Array1OfReal& Upars1, const TColStd_Array1OfReal& Vpars1, const TColStd_Array1OfReal& Upars2, const TColStd_Array1OfReal& Vpars2, IntPolyh_PMaillageAffinage& MaillageFF, IntPolyh_PMaillageAffinage& MaillageFR, IntPolyh_PMaillageAffinage& MaillageRF, IntPolyh_PMaillageAffinage& MaillageRR, Standard_Integer& NbCouples);
|
||||
|
||||
|
||||
Standard_Boolean done;
|
||||
Standard_Integer nbsectionlines;
|
||||
Standard_Integer nbtangentzones;
|
||||
IntPolyh_ArrayOfSectionLines TSectionLines;
|
||||
IntPolyh_ArrayOfTangentZones TTangentZones;
|
||||
Standard_Integer myNbSU1;
|
||||
Standard_Integer myNbSV1;
|
||||
Standard_Integer myNbSU2;
|
||||
Standard_Integer myNbSV2;
|
||||
Handle(Adaptor3d_HSurface) mySurf1;
|
||||
Handle(Adaptor3d_HSurface) mySurf2;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_Intersection_HeaderFile
|
@@ -13,11 +13,13 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_Intersection.ixx>
|
||||
#include <IntPolyh_PMaillageAffinage.hxx>
|
||||
#include <IntPolyh_MaillageAffinage.hxx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <IntPolyh_ArrayOfCouples.hxx>
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
#include <IntPolyh_Intersection.hxx>
|
||||
#include <IntPolyh_MaillageAffinage.hxx>
|
||||
#include <IntPolyh_PMaillageAffinage.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
|
||||
Standard_Integer MYPRINT1 = 0;
|
||||
|
@@ -1,312 +0,0 @@
|
||||
-- Created on: 1999-03-03
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
-- Modified by skv - Thu Sep 25 16:51:09 2003 OCC567
|
||||
-- The method GetArrayOfCouples() is added. The Boolean flag isShiftFwd is
|
||||
-- added to the method FillArrayOfPnt(..).
|
||||
-- The method GetArrayOfCouples() returns array of couples of contact triangles.
|
||||
-- The flag isShiftFwd shows whether circumscribed (Standard_True) or inscribed
|
||||
-- (Standard_False) mesh should be constructed.
|
||||
-- modified by ofv Thu Apr 8 14:45:35 2004 fip
|
||||
|
||||
class MaillageAffinage from IntPolyh
|
||||
---Purpose: Provide the algorythms used in the package
|
||||
|
||||
uses
|
||||
Box from Bnd,
|
||||
Pnt from gp,
|
||||
HSurface from Adaptor3d,
|
||||
TopolTool from Adaptor3d,
|
||||
Point from IntPolyh,
|
||||
StartPoint from IntPolyh,
|
||||
Edge from IntPolyh,
|
||||
Triangle from IntPolyh,
|
||||
ArrayOfCouples from IntPolyh,
|
||||
ArrayOfPoints from IntPolyh,
|
||||
ArrayOfStartPoints from IntPolyh,
|
||||
ArrayOfEdges from IntPolyh,
|
||||
ArrayOfTriangles from IntPolyh,
|
||||
SectionLine from IntPolyh,
|
||||
ArrayOfSectionLines from IntPolyh,
|
||||
ArrayOfTangentZones from IntPolyh,
|
||||
Array1OfReal from TColStd
|
||||
|
||||
is
|
||||
|
||||
Create(S1 : HSurface from Adaptor3d;
|
||||
NbSU1,NbSV1 : Integer from Standard;
|
||||
S2 : HSurface from Adaptor3d;
|
||||
NbSU2,NbSV2 : Integer from Standard;
|
||||
PRINT : Integer from Standard);
|
||||
|
||||
Create(S1,S2: HSurface from Adaptor3d;
|
||||
PRINT : Integer from Standard);
|
||||
|
||||
FillArrayOfPnt(me: in out; SurfID: Integer from Standard)
|
||||
is static;
|
||||
---Purpose: Compute points on one surface and fill an array of points;
|
||||
--- standard (default) method
|
||||
|
||||
FillArrayOfPnt(me: in out; SurfID : Integer from Standard;
|
||||
isShiftFwd: Boolean from Standard)
|
||||
---Purpose: isShiftFwd flag is added. The purpose is to define shift
|
||||
-- of points along normal to the surface in this point. The
|
||||
-- shift length represents maximal deflection of triangulation.
|
||||
-- The direction (forward or reversed regarding to normal
|
||||
-- direction) is defined by isShiftFwd flag.
|
||||
is static;
|
||||
---Purpose: Compute points on one surface and fill an array of points;
|
||||
--- advanced method
|
||||
|
||||
-- IFV start
|
||||
FillArrayOfPnt(me: in out; SurfID: Integer from Standard;
|
||||
Upars, Vpars : Array1OfReal from TColStd)
|
||||
is static;
|
||||
---Purpose: Compute points on one surface and fill an array of points;
|
||||
--- standard (default) method
|
||||
|
||||
FillArrayOfPnt(me: in out; SurfID : Integer from Standard;
|
||||
isShiftFwd: Boolean from Standard;
|
||||
Upars, Vpars : Array1OfReal from TColStd)
|
||||
---Purpose: isShiftFwd flag is added. The purpose is to define shift
|
||||
-- of points along normal to the surface in this point. The
|
||||
-- shift length represents maximal deflection of triangulation.
|
||||
-- The direction (forward or reversed regarding to normal
|
||||
-- direction) is defined by isShiftFwd flag.
|
||||
is static;
|
||||
---Purpose: Compute points on one surface and fill an array of points;
|
||||
--- advanced method
|
||||
|
||||
-- IFV end
|
||||
CommonBox(me:in out; B1,B2: Box from Bnd; xMin,yMin,zMin,xMax,yMax,zMax: in out Real from Standard)
|
||||
is static;
|
||||
---Purpose: Compute the common box witch is the intersection
|
||||
-- of the two bounding boxes, and mark the points of
|
||||
-- the two surfaces that are inside.
|
||||
|
||||
FillArrayOfEdges(me: in out; SurfID: Integer from Standard)
|
||||
is static;
|
||||
---Purpose: Compute edges from the array of points
|
||||
|
||||
FillArrayOfTriangles(me: in out; SurfID: Integer from Standard)
|
||||
is static;
|
||||
---Purpose: Compute triangles from the array of points, and --
|
||||
-- mark the triangles that use marked points by the
|
||||
-- CommonBox function.
|
||||
|
||||
LinkEdges2Triangles(me:in out)
|
||||
is static;
|
||||
---Purpose: fill the edge fields in Triangle object for the
|
||||
-- two array of triangles.
|
||||
|
||||
CommonPartRefinement(me: in out)
|
||||
is static;
|
||||
---Purpose: Refine systematicaly all marked triangles of both surfaces
|
||||
|
||||
LocalSurfaceRefinement(me: in out; SurfId: Integer from Standard)
|
||||
is static;
|
||||
---Purpose: Refine systematicaly all marked triangles of ONE surface
|
||||
|
||||
ComputeDeflections(me: in out; SurfID: Integer from Standard)
|
||||
is static;
|
||||
---Purpose: Compute deflection for all triangles of one
|
||||
-- surface,and sort min and max of deflections
|
||||
|
||||
|
||||
TrianglesDeflectionsRefinementBSB(me:in out)
|
||||
is static;
|
||||
---Purpose: Refine both surfaces using BoundSortBox as --
|
||||
-- rejection. The criterions used to refine a --
|
||||
-- triangle are: The deflection The size of the --
|
||||
-- bounding boxes (one surface may be very small
|
||||
-- compared to the other)
|
||||
|
||||
TriContact(me; P1,P2,P3,Q1,Q2,Q3: Point from IntPolyh;
|
||||
Angle:in out Real from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: This fonction Check if two triangles are in
|
||||
-- contact or no, return 1 if yes, return 0
|
||||
-- if no.
|
||||
|
||||
TriangleEdgeContact(me; TriSurfID, EdgeIndice: Integer from Standard;
|
||||
P1,P2,P3,C1,C2,C3,Pe1,Pe2,E,N: Point from IntPolyh;
|
||||
SP1,SP2: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
TriangleEdgeContact2(me; TriSurfID, EdgeIndice: Integer from Standard;
|
||||
Tri1, Tri2: Triangle from IntPolyh;
|
||||
P1,P2,P3,C1,C2,C3,Pe1,Pe2,E,N: Point from IntPolyh;
|
||||
SP1,SP2: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
StartingPointsResearch(me; T1,T2: Integer from Standard;
|
||||
SP1,SP2: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
StartingPointsResearch2(me; T1,T2: Integer from Standard;
|
||||
SP1,SP2: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: From two triangles compute intersection points.
|
||||
-- If I found more than two intersection points
|
||||
-- that's mean that those triangle are coplanar
|
||||
|
||||
NextStartingPointsResearch(me; T1,T2: Integer from Standard;
|
||||
SPInit: StartPoint from IntPolyh;
|
||||
SPNext: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
NextStartingPointsResearch2(me; T1,T2: Integer from Standard;
|
||||
SPInit: StartPoint from IntPolyh;
|
||||
SPNext: in out StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: from two triangles and an intersection point I
|
||||
-- seach the other point (if it exist).
|
||||
-- This function is used by StartPointChain
|
||||
|
||||
TriangleCompare(me :in out)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: Analyse each couple of triangles from the two --
|
||||
-- array of triangles, to see if they are in
|
||||
-- contact, and compute the incidence. Then put
|
||||
-- couples in contact in the array of couples
|
||||
|
||||
TriangleComparePSP(me :in out)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: The same as TriangleCompare, plus compute the
|
||||
-- StartPoints without chaining them.
|
||||
|
||||
StartPointsCalcul(me)
|
||||
is static;
|
||||
---Purpose: From the array of couples compute all the start
|
||||
-- points and display them on the screen
|
||||
|
||||
StartPointsChain(me: in out;
|
||||
TSectionLines: in out ArrayOfSectionLines from IntPolyh;
|
||||
TTangentZones: in out ArrayOfTangentZones from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: Loop on the array of couples. Compute StartPoints.
|
||||
-- Try to chain the StartPoints into SectionLines or
|
||||
-- put the point in the ArrayOfTangentZones if
|
||||
-- chaining it, is not possible.
|
||||
|
||||
GetNextChainStartPoint(me: in out;
|
||||
SPInit: StartPoint from IntPolyh;
|
||||
SPNext: in out StartPoint from IntPolyh;
|
||||
MySectionLine: in out SectionLine from IntPolyh;
|
||||
TTangentZones: in out ArrayOfTangentZones from IntPolyh;
|
||||
Prepend : Boolean from Standard = Standard_False)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
---Purpose: Mainly used by StartPointsChain(), this function
|
||||
-- try to compute the next StartPoint.
|
||||
|
||||
GetArrayOfPoints(me; SurfID: Integer from Standard)
|
||||
---C++: return const &
|
||||
returns ArrayOfPoints from IntPolyh
|
||||
is static;
|
||||
|
||||
GetArrayOfEdges(me; SurfID: Integer from Standard)
|
||||
---C++: return const &
|
||||
returns ArrayOfEdges from IntPolyh
|
||||
is static;
|
||||
|
||||
GetArrayOfTriangles(me; SurfID: Integer from Standard)
|
||||
---C++: return const &
|
||||
returns ArrayOfTriangles from IntPolyh
|
||||
is static;
|
||||
|
||||
GetFinTE(me; SurfID: Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
GetFinTT(me; SurfID: Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
GetBox(me; SurfID: Integer from Standard)
|
||||
returns Box from Bnd
|
||||
is static;
|
||||
|
||||
GetBoxDraw(me; SurfID: Integer from Standard)
|
||||
is static;
|
||||
|
||||
|
||||
GetArrayOfSP(me)
|
||||
---C++: return const &
|
||||
returns ArrayOfStartPoints from IntPolyh
|
||||
is static;
|
||||
|
||||
GetArrayOfCouples(me: in out)
|
||||
---Purpose: This method returns array of couples of contact triangles.
|
||||
---C++: return &
|
||||
returns ArrayOfCouples from IntPolyh
|
||||
is static;
|
||||
|
||||
SetEnlargeZone(me: in out; EnlargeZone: in out Boolean from Standard);
|
||||
GetEnlargeZone(me) returns Boolean from Standard;
|
||||
|
||||
GetMinDeflection(me; SurfID: Integer from Standard) returns Real from Standard;
|
||||
--- Purpose: returns FlecheMin
|
||||
GetMaxDeflection(me; SurfID: Integer from Standard) returns Real from Standard;
|
||||
--- Purpose: returns FlecheMax
|
||||
|
||||
fields
|
||||
|
||||
|
||||
MaSurface1 : HSurface from Adaptor3d;
|
||||
MaSurface2 : HSurface from Adaptor3d;
|
||||
|
||||
MyBox1 : Box from Bnd;
|
||||
MyBox2 : Box from Bnd;
|
||||
|
||||
NbSamplesU1 : Integer from Standard;
|
||||
NbSamplesU2 : Integer from Standard;
|
||||
NbSamplesV1 : Integer from Standard;
|
||||
NbSamplesV2 : Integer from Standard;
|
||||
|
||||
-- Minimal and maximal distance between array of points in
|
||||
-- the surface (MaSurface1 and MaSurface2 correspondingly) and
|
||||
-- triangles on it.
|
||||
FlecheMax1 : Real from Standard;
|
||||
FlecheMax2 : Real from Standard;
|
||||
FlecheMin1 : Real from Standard;
|
||||
FlecheMin2 : Real from Standard;
|
||||
FlecheMoy1 : Real from Standard;
|
||||
FlecheMoy2 : Real from Standard;
|
||||
|
||||
TPoints1 : ArrayOfPoints from IntPolyh;
|
||||
TPoints2 : ArrayOfPoints from IntPolyh;
|
||||
TEdges1 : ArrayOfEdges from IntPolyh;
|
||||
TEdges2 : ArrayOfEdges from IntPolyh;
|
||||
TTriangles1 : ArrayOfTriangles from IntPolyh;
|
||||
TTriangles2 : ArrayOfTriangles from IntPolyh;
|
||||
TTrianglesContacts : ArrayOfCouples from IntPolyh;
|
||||
TStartPoints : ArrayOfStartPoints from IntPolyh;
|
||||
|
||||
myEnlargeZone : Boolean from Standard;
|
||||
|
||||
end Test from IntPolyh;
|
||||
|
@@ -17,31 +17,29 @@
|
||||
// modified by Edward AGAPOV (eap) Tue Jan 22 2002 (bug occ53)
|
||||
// - improve SectionLine table management (avoid memory reallocation)
|
||||
// - some protection against arrays overflow
|
||||
|
||||
// modified by Edward AGAPOV (eap) Thu Feb 14 2002 (occ139)
|
||||
// - make Section Line parts rightly connected (prepend 2nd part to the 1st)
|
||||
// - TriangleShape() for debugging purpose
|
||||
|
||||
// Modified by skv - Thu Sep 25 17:42:42 2003 OCC567
|
||||
// modified by ofv Thu Apr 8 14:58:13 2004 fip
|
||||
|
||||
|
||||
#include <IntPolyh_MaillageAffinage.ixx>
|
||||
|
||||
#include <Precision.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp.hxx>
|
||||
|
||||
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Bnd_BoundSortBox.hxx>
|
||||
#include <Bnd_HArray1OfBox.hxx>
|
||||
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <Bnd_HArray1OfBox.hxx>
|
||||
#include <gp.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <IntCurveSurface_ThePolyhedronOfHInter.hxx>
|
||||
|
||||
#include <IntPolyh_ArrayOfCouples.hxx>
|
||||
#include <IntPolyh_Edge.hxx>
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
#include <IntPolyh_Edge.hxx>
|
||||
#include <IntPolyh_MaillageAffinage.hxx>
|
||||
#include <IntPolyh_Point.hxx>
|
||||
#include <IntPolyh_SectionLine.hxx>
|
||||
#include <IntPolyh_StartPoint.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
||||
|
||||
static Standard_Real MyTolerance=10.0e-7;
|
||||
static Standard_Real MyConfusionPrecision=10.0e-12;
|
||||
|
238
src/IntPolyh/IntPolyh_MaillageAffinage.hxx
Normal file
238
src/IntPolyh/IntPolyh_MaillageAffinage.hxx
Normal file
@@ -0,0 +1,238 @@
|
||||
// Created on: 1999-03-03
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_MaillageAffinage_HeaderFile
|
||||
#define _IntPolyh_MaillageAffinage_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <IntPolyh_ArrayOfPoints.hxx>
|
||||
#include <IntPolyh_ArrayOfEdges.hxx>
|
||||
#include <IntPolyh_ArrayOfTriangles.hxx>
|
||||
#include <IntPolyh_ArrayOfCouples.hxx>
|
||||
#include <IntPolyh_ArrayOfStartPoints.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
#include <IntPolyh_ArrayOfSectionLines.hxx>
|
||||
#include <IntPolyh_ArrayOfTangentZones.hxx>
|
||||
class Adaptor3d_HSurface;
|
||||
class Bnd_Box;
|
||||
class IntPolyh_Point;
|
||||
class IntPolyh_StartPoint;
|
||||
class IntPolyh_Triangle;
|
||||
class IntPolyh_SectionLine;
|
||||
|
||||
|
||||
//! Provide the algorythms used in the package
|
||||
class IntPolyh_MaillageAffinage
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_MaillageAffinage(const Handle(Adaptor3d_HSurface)& S1, const Standard_Integer NbSU1, const Standard_Integer NbSV1, const Handle(Adaptor3d_HSurface)& S2, const Standard_Integer NbSU2, const Standard_Integer NbSV2, const Standard_Integer PRINT);
|
||||
|
||||
Standard_EXPORT IntPolyh_MaillageAffinage(const Handle(Adaptor3d_HSurface)& S1, const Handle(Adaptor3d_HSurface)& S2, const Standard_Integer PRINT);
|
||||
|
||||
//! Compute points on one surface and fill an array of points;
|
||||
//! standard (default) method
|
||||
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID);
|
||||
|
||||
//! isShiftFwd flag is added. The purpose is to define shift
|
||||
//! of points along normal to the surface in this point. The
|
||||
//! shift length represents maximal deflection of triangulation.
|
||||
//! The direction (forward or reversed regarding to normal
|
||||
//! direction) is defined by isShiftFwd flag.
|
||||
//! Compute points on one surface and fill an array of points;
|
||||
//! advanced method
|
||||
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const Standard_Boolean isShiftFwd);
|
||||
|
||||
//! Compute points on one surface and fill an array of points;
|
||||
//! standard (default) method
|
||||
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const TColStd_Array1OfReal& Upars, const TColStd_Array1OfReal& Vpars);
|
||||
|
||||
//! isShiftFwd flag is added. The purpose is to define shift
|
||||
//! of points along normal to the surface in this point. The
|
||||
//! shift length represents maximal deflection of triangulation.
|
||||
//! The direction (forward or reversed regarding to normal
|
||||
//! direction) is defined by isShiftFwd flag.
|
||||
//! Compute points on one surface and fill an array of points;
|
||||
//! advanced method
|
||||
Standard_EXPORT void FillArrayOfPnt (const Standard_Integer SurfID, const Standard_Boolean isShiftFwd, const TColStd_Array1OfReal& Upars, const TColStd_Array1OfReal& Vpars);
|
||||
|
||||
//! Compute the common box witch is the intersection
|
||||
//! of the two bounding boxes, and mark the points of
|
||||
//! the two surfaces that are inside.
|
||||
Standard_EXPORT void CommonBox (const Bnd_Box& B1, const Bnd_Box& B2, Standard_Real& xMin, Standard_Real& yMin, Standard_Real& zMin, Standard_Real& xMax, Standard_Real& yMax, Standard_Real& zMax);
|
||||
|
||||
//! Compute edges from the array of points
|
||||
Standard_EXPORT void FillArrayOfEdges (const Standard_Integer SurfID);
|
||||
|
||||
//! Compute triangles from the array of points, and --
|
||||
//! mark the triangles that use marked points by the
|
||||
//! CommonBox function.
|
||||
Standard_EXPORT void FillArrayOfTriangles (const Standard_Integer SurfID);
|
||||
|
||||
//! fill the edge fields in Triangle object for the
|
||||
//! two array of triangles.
|
||||
Standard_EXPORT void LinkEdges2Triangles();
|
||||
|
||||
//! Refine systematicaly all marked triangles of both surfaces
|
||||
Standard_EXPORT void CommonPartRefinement();
|
||||
|
||||
//! Refine systematicaly all marked triangles of ONE surface
|
||||
Standard_EXPORT void LocalSurfaceRefinement (const Standard_Integer SurfId);
|
||||
|
||||
//! Compute deflection for all triangles of one
|
||||
//! surface,and sort min and max of deflections
|
||||
Standard_EXPORT void ComputeDeflections (const Standard_Integer SurfID);
|
||||
|
||||
//! Refine both surfaces using BoundSortBox as --
|
||||
//! rejection. The criterions used to refine a --
|
||||
//! triangle are: The deflection The size of the --
|
||||
//! bounding boxes (one surface may be very small
|
||||
//! compared to the other)
|
||||
Standard_EXPORT void TrianglesDeflectionsRefinementBSB();
|
||||
|
||||
//! This fonction Check if two triangles are in
|
||||
//! contact or no, return 1 if yes, return 0
|
||||
//! if no.
|
||||
Standard_EXPORT Standard_Integer TriContact (const IntPolyh_Point& P1, const IntPolyh_Point& P2, const IntPolyh_Point& P3, const IntPolyh_Point& Q1, const IntPolyh_Point& Q2, const IntPolyh_Point& Q3, Standard_Real& Angle) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer TriangleEdgeContact (const Standard_Integer TriSurfID, const Standard_Integer EdgeIndice, const IntPolyh_Point& P1, const IntPolyh_Point& P2, const IntPolyh_Point& P3, const IntPolyh_Point& C1, const IntPolyh_Point& C2, const IntPolyh_Point& C3, const IntPolyh_Point& Pe1, const IntPolyh_Point& Pe2, const IntPolyh_Point& E, const IntPolyh_Point& N, IntPolyh_StartPoint& SP1, IntPolyh_StartPoint& SP2) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer TriangleEdgeContact2 (const Standard_Integer TriSurfID, const Standard_Integer EdgeIndice, const IntPolyh_Triangle& Tri1, const IntPolyh_Triangle& Tri2, const IntPolyh_Point& P1, const IntPolyh_Point& P2, const IntPolyh_Point& P3, const IntPolyh_Point& C1, const IntPolyh_Point& C2, const IntPolyh_Point& C3, const IntPolyh_Point& Pe1, const IntPolyh_Point& Pe2, const IntPolyh_Point& E, const IntPolyh_Point& N, IntPolyh_StartPoint& SP1, IntPolyh_StartPoint& SP2) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer StartingPointsResearch (const Standard_Integer T1, const Standard_Integer T2, IntPolyh_StartPoint& SP1, IntPolyh_StartPoint& SP2) const;
|
||||
|
||||
//! From two triangles compute intersection points.
|
||||
//! If I found more than two intersection points
|
||||
//! that's mean that those triangle are coplanar
|
||||
Standard_EXPORT Standard_Integer StartingPointsResearch2 (const Standard_Integer T1, const Standard_Integer T2, IntPolyh_StartPoint& SP1, IntPolyh_StartPoint& SP2) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NextStartingPointsResearch (const Standard_Integer T1, const Standard_Integer T2, const IntPolyh_StartPoint& SPInit, IntPolyh_StartPoint& SPNext) const;
|
||||
|
||||
//! from two triangles and an intersection point I
|
||||
//! seach the other point (if it exist).
|
||||
//! This function is used by StartPointChain
|
||||
Standard_EXPORT Standard_Integer NextStartingPointsResearch2 (const Standard_Integer T1, const Standard_Integer T2, const IntPolyh_StartPoint& SPInit, IntPolyh_StartPoint& SPNext) const;
|
||||
|
||||
//! Analyse each couple of triangles from the two --
|
||||
//! array of triangles, to see if they are in
|
||||
//! contact, and compute the incidence. Then put
|
||||
//! couples in contact in the array of couples
|
||||
Standard_EXPORT Standard_Integer TriangleCompare();
|
||||
|
||||
//! The same as TriangleCompare, plus compute the
|
||||
//! StartPoints without chaining them.
|
||||
Standard_EXPORT Standard_Integer TriangleComparePSP();
|
||||
|
||||
//! From the array of couples compute all the start
|
||||
//! points and display them on the screen
|
||||
Standard_EXPORT void StartPointsCalcul() const;
|
||||
|
||||
//! Loop on the array of couples. Compute StartPoints.
|
||||
//! Try to chain the StartPoints into SectionLines or
|
||||
//! put the point in the ArrayOfTangentZones if
|
||||
//! chaining it, is not possible.
|
||||
Standard_EXPORT Standard_Integer StartPointsChain (IntPolyh_ArrayOfSectionLines& TSectionLines, IntPolyh_ArrayOfTangentZones& TTangentZones);
|
||||
|
||||
//! Mainly used by StartPointsChain(), this function
|
||||
//! try to compute the next StartPoint.
|
||||
Standard_EXPORT Standard_Integer GetNextChainStartPoint (const IntPolyh_StartPoint& SPInit, IntPolyh_StartPoint& SPNext, IntPolyh_SectionLine& MySectionLine, IntPolyh_ArrayOfTangentZones& TTangentZones, const Standard_Boolean Prepend = Standard_False);
|
||||
|
||||
Standard_EXPORT const IntPolyh_ArrayOfPoints& GetArrayOfPoints (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT const IntPolyh_ArrayOfEdges& GetArrayOfEdges (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT const IntPolyh_ArrayOfTriangles& GetArrayOfTriangles (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer GetFinTE (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer GetFinTT (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT Bnd_Box GetBox (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT void GetBoxDraw (const Standard_Integer SurfID) const;
|
||||
|
||||
Standard_EXPORT const IntPolyh_ArrayOfStartPoints& GetArrayOfSP() const;
|
||||
|
||||
//! This method returns array of couples of contact triangles.
|
||||
Standard_EXPORT IntPolyh_ArrayOfCouples& GetArrayOfCouples();
|
||||
|
||||
Standard_EXPORT void SetEnlargeZone (Standard_Boolean& EnlargeZone);
|
||||
|
||||
Standard_EXPORT Standard_Boolean GetEnlargeZone() const;
|
||||
|
||||
//! returns FlecheMin
|
||||
Standard_EXPORT Standard_Real GetMinDeflection (const Standard_Integer SurfID) const;
|
||||
|
||||
//! returns FlecheMax
|
||||
Standard_EXPORT Standard_Real GetMaxDeflection (const Standard_Integer SurfID) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Handle(Adaptor3d_HSurface) MaSurface1;
|
||||
Handle(Adaptor3d_HSurface) MaSurface2;
|
||||
Bnd_Box MyBox1;
|
||||
Bnd_Box MyBox2;
|
||||
Standard_Integer NbSamplesU1;
|
||||
Standard_Integer NbSamplesU2;
|
||||
Standard_Integer NbSamplesV1;
|
||||
Standard_Integer NbSamplesV2;
|
||||
Standard_Real FlecheMax1;
|
||||
Standard_Real FlecheMax2;
|
||||
Standard_Real FlecheMin1;
|
||||
Standard_Real FlecheMin2;
|
||||
Standard_Real FlecheMoy1;
|
||||
Standard_Real FlecheMoy2;
|
||||
IntPolyh_ArrayOfPoints TPoints1;
|
||||
IntPolyh_ArrayOfPoints TPoints2;
|
||||
IntPolyh_ArrayOfEdges TEdges1;
|
||||
IntPolyh_ArrayOfEdges TEdges2;
|
||||
IntPolyh_ArrayOfTriangles TTriangles1;
|
||||
IntPolyh_ArrayOfTriangles TTriangles2;
|
||||
IntPolyh_ArrayOfCouples TTrianglesContacts;
|
||||
IntPolyh_ArrayOfStartPoints TStartPoints;
|
||||
Standard_Boolean myEnlargeZone;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_MaillageAffinage_HeaderFile
|
23
src/IntPolyh/IntPolyh_PMaillageAffinage.hxx
Normal file
23
src/IntPolyh/IntPolyh_PMaillageAffinage.hxx
Normal file
@@ -0,0 +1,23 @@
|
||||
// Created on: 1999-03-03
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_PMaillageAffinage_HeaderFile
|
||||
#define _IntPolyh_PMaillageAffinage_HeaderFile
|
||||
|
||||
class IntPolyh_MaillageAffinage;
|
||||
typedef IntPolyh_MaillageAffinage* IntPolyh_PMaillageAffinage;
|
||||
|
||||
#endif // _IntPolyh_PMaillageAffinage_HeaderFile
|
@@ -1,142 +0,0 @@
|
||||
-- Created on: 1999-03-05
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
class Point from IntPolyh
|
||||
|
||||
uses
|
||||
|
||||
Pnt from gp,
|
||||
HSurface from Adaptor3d
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create;
|
||||
|
||||
Create(xx,yy,zz,uu,vv : Real from Standard);
|
||||
|
||||
X(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Y(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Z(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
U(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
V(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
PartOfCommon(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
Equal(me: in out; Pt: Point from IntPolyh)
|
||||
---C++: alias operator =
|
||||
is static;
|
||||
|
||||
Set(me: in out; v1,v2,v3,v4,v5: Real from Standard; II: Integer from Standard = 1)
|
||||
is static;
|
||||
|
||||
SetX(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetY(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetZ(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetU(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetV(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetPartOfCommon(me :in out; ii: Integer from Standard)
|
||||
is static;
|
||||
|
||||
Middle(me: in out; MySurface: HSurface from Adaptor3d; P1,P2: Point from IntPolyh)
|
||||
is static;
|
||||
|
||||
Add(me; P1: Point from IntPolyh)
|
||||
---C++: alias operator +
|
||||
returns Point from IntPolyh
|
||||
is static;
|
||||
|
||||
Sub(me; P1: Point from IntPolyh)
|
||||
---C++: alias operator -
|
||||
returns Point from IntPolyh
|
||||
is static;
|
||||
|
||||
Divide(me; rr: Real from Standard)
|
||||
---C++: alias operator /
|
||||
returns Point from IntPolyh
|
||||
is static;
|
||||
|
||||
Multiplication(me; rr: Real from Standard)
|
||||
---C++: alias operator *
|
||||
returns Point from IntPolyh
|
||||
is static;
|
||||
|
||||
SquareModulus(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
SquareDistance(me; P2: Point from IntPolyh)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Dot(me; P2: Point from IntPolyh)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Cross(me:in out; P1,P2: Point from IntPolyh)
|
||||
is static;
|
||||
|
||||
Dump(me)
|
||||
is static;
|
||||
|
||||
Dump(me; i: Integer from Standard)
|
||||
is static;
|
||||
|
||||
--modified by NIZNHY-PKV Fri Jan 20 12:11:36 2012 f
|
||||
SetDegenerated(me:out;
|
||||
theFlag:Boolean from Standard);
|
||||
|
||||
Degenerated(me)
|
||||
returns Boolean from Standard;
|
||||
--modified by NIZNHY-PKV Fri Jan 20 12:12:07 2012t
|
||||
|
||||
fields
|
||||
x,y,z,u,v : Real from Standard;
|
||||
POC : Integer from Standard;
|
||||
--modified by NIZNHY-PKV Fri Jan 20 12:17:39 2012f
|
||||
myDegenerated : Boolean from Standard;
|
||||
--modified by NIZNHY-PKV Fri Jan 20 12:17:41 2012t
|
||||
|
||||
end Point from IntPolyh;
|
||||
|
||||
|
||||
|
@@ -14,11 +14,11 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_Point.ixx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <IntPolyh_Point.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : IntPolyh_Point
|
||||
//purpose :
|
||||
|
146
src/IntPolyh/IntPolyh_Point.hxx
Normal file
146
src/IntPolyh/IntPolyh_Point.hxx
Normal file
@@ -0,0 +1,146 @@
|
||||
// Created on: 1999-03-05
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_Point_HeaderFile
|
||||
#define _IntPolyh_Point_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Adaptor3d_HSurface;
|
||||
|
||||
|
||||
|
||||
class IntPolyh_Point
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_Point();
|
||||
|
||||
Standard_EXPORT IntPolyh_Point(const Standard_Real xx, const Standard_Real yy, const Standard_Real zz, const Standard_Real uu, const Standard_Real vv);
|
||||
|
||||
Standard_EXPORT Standard_Real X() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Y() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Z() const;
|
||||
|
||||
Standard_EXPORT Standard_Real U() const;
|
||||
|
||||
Standard_EXPORT Standard_Real V() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer PartOfCommon() const;
|
||||
|
||||
Standard_EXPORT void Equal (const IntPolyh_Point& Pt);
|
||||
void operator = (const IntPolyh_Point& Pt)
|
||||
{
|
||||
Equal(Pt);
|
||||
}
|
||||
|
||||
Standard_EXPORT void Set (const Standard_Real v1, const Standard_Real v2, const Standard_Real v3, const Standard_Real v4, const Standard_Real v5, const Standard_Integer II = 1);
|
||||
|
||||
Standard_EXPORT void SetX (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetY (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetZ (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetU (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetV (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetPartOfCommon (const Standard_Integer ii);
|
||||
|
||||
Standard_EXPORT void Middle (const Handle(Adaptor3d_HSurface)& MySurface, const IntPolyh_Point& P1, const IntPolyh_Point& P2);
|
||||
|
||||
Standard_EXPORT IntPolyh_Point Add (const IntPolyh_Point& P1) const;
|
||||
IntPolyh_Point operator + (const IntPolyh_Point& P1) const
|
||||
{
|
||||
return Add(P1);
|
||||
}
|
||||
|
||||
Standard_EXPORT IntPolyh_Point Sub (const IntPolyh_Point& P1) const;
|
||||
IntPolyh_Point operator - (const IntPolyh_Point& P1) const
|
||||
{
|
||||
return Sub(P1);
|
||||
}
|
||||
|
||||
Standard_EXPORT IntPolyh_Point Divide (const Standard_Real rr) const;
|
||||
IntPolyh_Point operator / (const Standard_Real rr) const
|
||||
{
|
||||
return Divide(rr);
|
||||
}
|
||||
|
||||
Standard_EXPORT IntPolyh_Point Multiplication (const Standard_Real rr) const;
|
||||
IntPolyh_Point operator * (const Standard_Real rr) const
|
||||
{
|
||||
return Multiplication(rr);
|
||||
}
|
||||
|
||||
Standard_EXPORT Standard_Real SquareModulus() const;
|
||||
|
||||
Standard_EXPORT Standard_Real SquareDistance (const IntPolyh_Point& P2) const;
|
||||
|
||||
Standard_EXPORT Standard_Real Dot (const IntPolyh_Point& P2) const;
|
||||
|
||||
Standard_EXPORT void Cross (const IntPolyh_Point& P1, const IntPolyh_Point& P2);
|
||||
|
||||
Standard_EXPORT void Dump() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer i) const;
|
||||
|
||||
Standard_EXPORT void SetDegenerated (const Standard_Boolean theFlag);
|
||||
|
||||
Standard_EXPORT Standard_Boolean Degenerated() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Real x;
|
||||
Standard_Real y;
|
||||
Standard_Real z;
|
||||
Standard_Real u;
|
||||
Standard_Real v;
|
||||
Standard_Integer POC;
|
||||
Standard_Boolean myDegenerated;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_Point_HeaderFile
|
@@ -1,83 +0,0 @@
|
||||
-- Created on: 1999-04-06
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
-- modified by Edward AGAPOV (eap) Thu Feb 14 2002 (occ139)
|
||||
-- Add Prepend(), replace array with sequence
|
||||
|
||||
class SectionLine from IntPolyh
|
||||
|
||||
uses
|
||||
|
||||
SeqOfStartPoints from IntPolyh,
|
||||
StartPoint from IntPolyh
|
||||
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create;
|
||||
|
||||
Create(nn : Integer from Standard) ;
|
||||
|
||||
Init(me: in out; nn: Integer from Standard)
|
||||
is static;
|
||||
|
||||
Value(me; nn: Integer from Standard)
|
||||
---C++: alias operator []
|
||||
---C++: return const &
|
||||
returns StartPoint from IntPolyh
|
||||
is static;
|
||||
|
||||
ChangeValue(me: in out; nn: Integer from Standard)
|
||||
---C++: alias operator []
|
||||
---C++: return &
|
||||
returns StartPoint from IntPolyh
|
||||
is static;
|
||||
|
||||
Copy(me: in out; Other : SectionLine from IntPolyh)
|
||||
---C++: alias operator =
|
||||
---C++: return &
|
||||
returns SectionLine from IntPolyh
|
||||
is static;
|
||||
|
||||
GetN(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
NbStartPoints(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
IncrementNbStartPoints(me: in out)
|
||||
is static;
|
||||
|
||||
Destroy(me: in out)
|
||||
---C++: alias ~
|
||||
is static;
|
||||
|
||||
Dump(me)
|
||||
is static;
|
||||
|
||||
Prepend(me:in out; SP: StartPoint from IntPolyh)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
-- n,nbstartpoints : Integer from Standard;
|
||||
-- ptr :Address from Standard;
|
||||
mySeqOfSPoints : SeqOfStartPoints from IntPolyh;
|
||||
|
||||
end SectionLine from IntPolyh;
|
@@ -17,15 +17,15 @@
|
||||
// modified by Edward AGAPOV (eap) Thu Feb 14 2002 (occ139)
|
||||
// Add Prepend(), replace array with sequence
|
||||
|
||||
#include <IntPolyh_StartPoint.ixx>
|
||||
#include <IntPolyh_SectionLine.ixx>
|
||||
#include <stdio.h>
|
||||
#include <IntPolyh_SectionLine.hxx>
|
||||
#include <IntPolyh_StartPoint.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
//=======================================================================
|
||||
//function : IntPolyh_SectionLine
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
IntPolyh_SectionLine::IntPolyh_SectionLine() /*: n(0),nbstartpoints(0),ptr(0)*/ { }
|
||||
|
||||
//=======================================================================
|
||||
|
101
src/IntPolyh/IntPolyh_SectionLine.hxx
Normal file
101
src/IntPolyh/IntPolyh_SectionLine.hxx
Normal file
@@ -0,0 +1,101 @@
|
||||
// Created on: 1999-04-06
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_SectionLine_HeaderFile
|
||||
#define _IntPolyh_SectionLine_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <IntPolyh_SeqOfStartPoints.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class IntPolyh_StartPoint;
|
||||
|
||||
|
||||
|
||||
class IntPolyh_SectionLine
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_SectionLine();
|
||||
|
||||
Standard_EXPORT IntPolyh_SectionLine(const Standard_Integer nn);
|
||||
|
||||
Standard_EXPORT void Init (const Standard_Integer nn);
|
||||
|
||||
Standard_EXPORT const IntPolyh_StartPoint& Value (const Standard_Integer nn) const;
|
||||
const IntPolyh_StartPoint& operator [] (const Standard_Integer nn) const
|
||||
{
|
||||
return Value(nn);
|
||||
}
|
||||
|
||||
Standard_EXPORT IntPolyh_StartPoint& ChangeValue (const Standard_Integer nn);
|
||||
IntPolyh_StartPoint& operator [] (const Standard_Integer nn)
|
||||
{
|
||||
return ChangeValue(nn);
|
||||
}
|
||||
|
||||
Standard_EXPORT IntPolyh_SectionLine& Copy (const IntPolyh_SectionLine& Other);
|
||||
IntPolyh_SectionLine& operator = (const IntPolyh_SectionLine& Other)
|
||||
{
|
||||
return Copy(Other);
|
||||
}
|
||||
|
||||
Standard_EXPORT Standard_Integer GetN() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer NbStartPoints() const;
|
||||
|
||||
Standard_EXPORT void IncrementNbStartPoints();
|
||||
|
||||
Standard_EXPORT void Destroy();
|
||||
~IntPolyh_SectionLine()
|
||||
{
|
||||
Destroy();
|
||||
}
|
||||
|
||||
Standard_EXPORT void Dump() const;
|
||||
|
||||
Standard_EXPORT void Prepend (const IntPolyh_StartPoint& SP);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
IntPolyh_SeqOfStartPoints mySeqOfSPoints;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_SectionLine_HeaderFile
|
@@ -1,153 +0,0 @@
|
||||
-- Created on: 1999-04-06
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
class StartPoint from IntPolyh
|
||||
|
||||
uses
|
||||
|
||||
Triangle from IntPolyh
|
||||
|
||||
|
||||
is
|
||||
|
||||
|
||||
Create;
|
||||
|
||||
Create(xx,yy,zz,uu1,vv1,uu2,vv2 : Real from Standard;
|
||||
T1,E1: Integer from Standard;
|
||||
LAM1 : Real from Standard;
|
||||
T2,E2: Integer from Standard;
|
||||
LAM2 : Real from Standard;
|
||||
List : Integer from Standard);
|
||||
|
||||
X(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Y(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
Z(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
U1(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
V1(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
U2(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
V2(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
T1(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
E1(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
Lambda1(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
T2(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
E2(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
Lambda2(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
GetAngle(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
ChainList(me)
|
||||
returns Integer from Standard;
|
||||
|
||||
GetEdgePoints(me; Triangle: Triangle from IntPolyh;
|
||||
FirstEdgePoint,SecondEdgePoint,LastPoint: in out Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
Equal(me: in out; StPt: StartPoint from IntPolyh)
|
||||
---C++: alias operator =
|
||||
is static;
|
||||
|
||||
SetXYZ(me: in out; XX,YY,ZZ: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetUV1(me: in out; UU1,VV1: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetUV2(me: in out; UU2,VV2: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetEdge1(me: in out; IE1: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetLambda1(me: in out; LAM1: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetEdge2(me: in out; IE2: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetLambda2(me: in out; LAM2: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetCoupleValue(me: in out; IT1,IT2: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetAngle(me : in out; ang:Real from Standard)
|
||||
is static;
|
||||
|
||||
SetChainList(me: in out; ChList: Integer from Standard)
|
||||
is static;
|
||||
|
||||
CheckSameSP(me; SP: StartPoint from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
Dump(me)
|
||||
is static;
|
||||
|
||||
Dump(me; i: Integer from Standard)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
x,y,z,u1,v1,u2,v2 : Real from Standard;
|
||||
lambda1,lambda2,angle : Real from Standard;--angle: cos angle normales triangles
|
||||
t1,e1,t2,e2,chainlist : Integer from Standard;
|
||||
|
||||
end StartPoint from IntPolyh;
|
||||
|
||||
|
||||
|
@@ -14,10 +14,12 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_StartPoint.ixx>
|
||||
//#include <Precision.hxx>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <IntPolyh_StartPoint.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
//#include <Precision.hxx>
|
||||
#define MyConfusionPrecision 10.0e-12
|
||||
|
||||
IntPolyh_StartPoint::IntPolyh_StartPoint() : x(0),y(0),z(0),u1(0),v1(0),u2(0),v2(0),
|
||||
|
143
src/IntPolyh/IntPolyh_StartPoint.hxx
Normal file
143
src/IntPolyh/IntPolyh_StartPoint.hxx
Normal file
@@ -0,0 +1,143 @@
|
||||
// Created on: 1999-04-06
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_StartPoint_HeaderFile
|
||||
#define _IntPolyh_StartPoint_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class IntPolyh_Triangle;
|
||||
|
||||
|
||||
|
||||
class IntPolyh_StartPoint
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_StartPoint();
|
||||
|
||||
Standard_EXPORT IntPolyh_StartPoint(const Standard_Real xx, const Standard_Real yy, const Standard_Real zz, const Standard_Real uu1, const Standard_Real vv1, const Standard_Real uu2, const Standard_Real vv2, const Standard_Integer T1, const Standard_Integer E1, const Standard_Real LAM1, const Standard_Integer T2, const Standard_Integer E2, const Standard_Real LAM2, const Standard_Integer List);
|
||||
|
||||
Standard_EXPORT Standard_Real X() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Y() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Z() const;
|
||||
|
||||
Standard_EXPORT Standard_Real U1() const;
|
||||
|
||||
Standard_EXPORT Standard_Real V1() const;
|
||||
|
||||
Standard_EXPORT Standard_Real U2() const;
|
||||
|
||||
Standard_EXPORT Standard_Real V2() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer T1() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer E1() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Lambda1() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer T2() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer E2() const;
|
||||
|
||||
Standard_EXPORT Standard_Real Lambda2() const;
|
||||
|
||||
Standard_EXPORT Standard_Real GetAngle() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer ChainList() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer GetEdgePoints (const IntPolyh_Triangle& Triangle, Standard_Integer& FirstEdgePoint, Standard_Integer& SecondEdgePoint, Standard_Integer& LastPoint) const;
|
||||
|
||||
Standard_EXPORT void Equal (const IntPolyh_StartPoint& StPt);
|
||||
void operator = (const IntPolyh_StartPoint& StPt)
|
||||
{
|
||||
Equal(StPt);
|
||||
}
|
||||
|
||||
Standard_EXPORT void SetXYZ (const Standard_Real XX, const Standard_Real YY, const Standard_Real ZZ);
|
||||
|
||||
Standard_EXPORT void SetUV1 (const Standard_Real UU1, const Standard_Real VV1);
|
||||
|
||||
Standard_EXPORT void SetUV2 (const Standard_Real UU2, const Standard_Real VV2);
|
||||
|
||||
Standard_EXPORT void SetEdge1 (const Standard_Integer IE1);
|
||||
|
||||
Standard_EXPORT void SetLambda1 (const Standard_Real LAM1);
|
||||
|
||||
Standard_EXPORT void SetEdge2 (const Standard_Integer IE2);
|
||||
|
||||
Standard_EXPORT void SetLambda2 (const Standard_Real LAM2);
|
||||
|
||||
Standard_EXPORT void SetCoupleValue (const Standard_Integer IT1, const Standard_Integer IT2);
|
||||
|
||||
Standard_EXPORT void SetAngle (const Standard_Real ang);
|
||||
|
||||
Standard_EXPORT void SetChainList (const Standard_Integer ChList);
|
||||
|
||||
Standard_EXPORT Standard_Integer CheckSameSP (const IntPolyh_StartPoint& SP) const;
|
||||
|
||||
Standard_EXPORT void Dump() const;
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer i) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Real x;
|
||||
Standard_Real y;
|
||||
Standard_Real z;
|
||||
Standard_Real u1;
|
||||
Standard_Real v1;
|
||||
Standard_Real u2;
|
||||
Standard_Real v2;
|
||||
Standard_Real lambda1;
|
||||
Standard_Real lambda2;
|
||||
Standard_Real angle;
|
||||
Standard_Integer t1;
|
||||
Standard_Integer e1;
|
||||
Standard_Integer t2;
|
||||
Standard_Integer e2;
|
||||
Standard_Integer chainlist;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_StartPoint_HeaderFile
|
@@ -1,209 +0,0 @@
|
||||
-- Created on: 1999-03-05
|
||||
-- Created by: Fabrice SERVANT
|
||||
-- Copyright (c) 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.
|
||||
|
||||
class Triangle from IntPolyh
|
||||
|
||||
uses
|
||||
|
||||
HSurface from Adaptor3d,
|
||||
Point from IntPolyh,
|
||||
ArrayOfPoints from IntPolyh,
|
||||
StartPoint from IntPolyh,
|
||||
ArrayOfEdges from IntPolyh,
|
||||
ArrayOfCouples from IntPolyh,
|
||||
ArrayOfTriangles from IntPolyh,
|
||||
Box from Bnd
|
||||
|
||||
is
|
||||
|
||||
Create;
|
||||
|
||||
Create(i1,i2,i3: Integer from Standard);
|
||||
|
||||
FirstPoint(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondPoint(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
ThirdPoint(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
FirstEdge(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
FirstEdgeOrientation(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondEdge(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SecondEdgeOrientation(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
ThirdEdge(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
ThirdEdgeOrientation(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
GetFleche(me)
|
||||
returns Real from Standard
|
||||
is static;
|
||||
|
||||
IndiceIntersectionPossible(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
IndiceIntersection(me)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SetFirstPoint(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetSecondPoint(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetThirdPoint(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetFirstEdge(me: in out; v,s: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetSecondEdge(me: in out; v,s: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetThirdEdge(me: in out; v,s: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetFleche(me: in out; v: Real from Standard)
|
||||
is static;
|
||||
|
||||
SetIndiceIntersectionPossible(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetIndiceIntersection(me: in out; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
GetEdgeNumber(me;v: Integer from Standard )
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SetEdge(me: in out; v,en: Integer from Standard )
|
||||
is static;
|
||||
|
||||
GetEdgeOrientation(me;v: Integer from Standard )
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
SetEdgeOrientation(me: in out; v,oe: Integer from Standard )
|
||||
is static;
|
||||
|
||||
TriangleDeflection(me : in out; MaSurface:HSurface from Adaptor3d;
|
||||
TP : ArrayOfPoints from IntPolyh)
|
||||
is static;
|
||||
|
||||
CheckCommonEdge(me; PE1,PE2,P3,Index: Integer from Standard;
|
||||
TTriangles: ArrayOfTriangles from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
-- GetNextTriangle(me; NumTri,PE1,PE2,P3,FinTT,NbSamplesU,NbSamplesV: Integer from Standard;
|
||||
-- TTriangles: ArrayOfTriangles from IntPolyh)
|
||||
-- returns Integer from Standard
|
||||
-- is static;
|
||||
|
||||
GetNextTriangle2(me; NumTri,NumEdge: Integer from Standard;
|
||||
TEdges: ArrayOfEdges from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
MiddleRefinement(me: in out; TriangleNumber: Integer from Standard;
|
||||
MySurface:HSurface from Adaptor3d;
|
||||
TPoints: in out ArrayOfPoints from IntPolyh;
|
||||
TTriangles: in out ArrayOfTriangles from IntPolyh;
|
||||
TEdges: in out ArrayOfEdges from IntPolyh)
|
||||
is static;
|
||||
|
||||
|
||||
MultipleMiddleRefinement(me: in out;
|
||||
NombreAffinages,TriangleNumber: Integer from Standard;
|
||||
MySurface:HSurface from Adaptor3d;
|
||||
TPoints: in out ArrayOfPoints from IntPolyh;
|
||||
TTriangles: in out ArrayOfTriangles from IntPolyh;
|
||||
TEdges: in out ArrayOfEdges from IntPolyh)
|
||||
is static;
|
||||
|
||||
CompareBoxTriangle(me; b: Box from Bnd;
|
||||
TPoints: ArrayOfPoints from IntPolyh)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
MultipleMiddleRefinement2(me: in out;
|
||||
RefineCriterion: Real from Standard;
|
||||
thebox: Box from Bnd;
|
||||
TriangleNumber: Integer from Standard;
|
||||
MySurface:HSurface from Adaptor3d;
|
||||
TPoints: in out ArrayOfPoints from IntPolyh;
|
||||
TTriangles: in out ArrayOfTriangles from IntPolyh;
|
||||
TEdges: in out ArrayOfEdges from IntPolyh)
|
||||
is static;
|
||||
|
||||
GetNextChainTriangle(me; SPIni: StartPoint from IntPolyh; LastTTC: Integer from Standard;
|
||||
TriContactsArray: in out ArrayOfCouples from IntPolyh;
|
||||
TTriangles1, TTriangles2: ArrayOfTriangles from IntPolyh;
|
||||
NumContact,NextTriangle: in out Integer from Standard)
|
||||
returns Integer from Standard
|
||||
is static;
|
||||
|
||||
LinkEdges2Triangle(me: in out; TEdges: ArrayOfEdges from IntPolyh;
|
||||
ed1,ed2,ed3: Integer from Standard)
|
||||
is static;
|
||||
|
||||
SetEdgeandOrientation(me: in out; Edge: Integer from Standard;
|
||||
TEdges: ArrayOfEdges from IntPolyh)
|
||||
is static;
|
||||
|
||||
Dump(me; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
DumpFleche(me; v: Integer from Standard)
|
||||
is static;
|
||||
|
||||
fields
|
||||
|
||||
p1,p2,p3,e1,oe1,e2,oe2,e3,oe3,II,IP : Integer from Standard;
|
||||
Fleche : Real from Standard;
|
||||
|
||||
end Triangle from IntPolyh;
|
||||
|
||||
|
||||
|
||||
-- The code is inside, but as it is not used for my algorythms I leave
|
||||
-- it as a comment.
|
||||
--
|
||||
-- RefinementG(me: in out; SurfID: Integer from Standard; T: in out
|
||||
-- Triangle from IntPolyh) is static;
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <IntPolyh_Triangle.ixx>
|
||||
#include <IntPolyh_Point.ixx>
|
||||
#include <IntPolyh_Edge.ixx>
|
||||
#include <IntPolyh_StartPoint.ixx>
|
||||
#include <IntPolyh_Couple.ixx>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <IntPolyh_Couple.hxx>
|
||||
#include <IntPolyh_Edge.hxx>
|
||||
#include <IntPolyh_Point.hxx>
|
||||
#include <IntPolyh_StartPoint.hxx>
|
||||
#include <IntPolyh_Triangle.hxx>
|
||||
|
||||
#include <stdio.h>
|
||||
#define MyTolerance 10.0e-7
|
||||
#define MyConfusionPrecision 10.0e-12
|
||||
#define SquareMyConfusionPrecision 10.0e-24
|
||||
|
156
src/IntPolyh/IntPolyh_Triangle.hxx
Normal file
156
src/IntPolyh/IntPolyh_Triangle.hxx
Normal file
@@ -0,0 +1,156 @@
|
||||
// Created on: 1999-03-05
|
||||
// Created by: Fabrice SERVANT
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef _IntPolyh_Triangle_HeaderFile
|
||||
#define _IntPolyh_Triangle_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <IntPolyh_ArrayOfPoints.hxx>
|
||||
#include <IntPolyh_ArrayOfTriangles.hxx>
|
||||
#include <IntPolyh_ArrayOfEdges.hxx>
|
||||
#include <IntPolyh_ArrayOfCouples.hxx>
|
||||
class Adaptor3d_HSurface;
|
||||
class Bnd_Box;
|
||||
class IntPolyh_StartPoint;
|
||||
|
||||
|
||||
|
||||
class IntPolyh_Triangle
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT IntPolyh_Triangle();
|
||||
|
||||
Standard_EXPORT IntPolyh_Triangle(const Standard_Integer i1, const Standard_Integer i2, const Standard_Integer i3);
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer ThirdPoint() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstEdge() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer FirstEdgeOrientation() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondEdge() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer SecondEdgeOrientation() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer ThirdEdge() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer ThirdEdgeOrientation() const;
|
||||
|
||||
Standard_EXPORT Standard_Real GetFleche() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer IndiceIntersectionPossible() const;
|
||||
|
||||
Standard_EXPORT Standard_Integer IndiceIntersection() const;
|
||||
|
||||
Standard_EXPORT void SetFirstPoint (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetSecondPoint (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetThirdPoint (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetFirstEdge (const Standard_Integer v, const Standard_Integer s);
|
||||
|
||||
Standard_EXPORT void SetSecondEdge (const Standard_Integer v, const Standard_Integer s);
|
||||
|
||||
Standard_EXPORT void SetThirdEdge (const Standard_Integer v, const Standard_Integer s);
|
||||
|
||||
Standard_EXPORT void SetFleche (const Standard_Real v);
|
||||
|
||||
Standard_EXPORT void SetIndiceIntersectionPossible (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT void SetIndiceIntersection (const Standard_Integer v);
|
||||
|
||||
Standard_EXPORT Standard_Integer GetEdgeNumber (const Standard_Integer v) const;
|
||||
|
||||
Standard_EXPORT void SetEdge (const Standard_Integer v, const Standard_Integer en);
|
||||
|
||||
Standard_EXPORT Standard_Integer GetEdgeOrientation (const Standard_Integer v) const;
|
||||
|
||||
Standard_EXPORT void SetEdgeOrientation (const Standard_Integer v, const Standard_Integer oe);
|
||||
|
||||
Standard_EXPORT void TriangleDeflection (const Handle(Adaptor3d_HSurface)& MaSurface, const IntPolyh_ArrayOfPoints& TP);
|
||||
|
||||
Standard_EXPORT Standard_Integer CheckCommonEdge (const Standard_Integer PE1, const Standard_Integer PE2, const Standard_Integer P3, const Standard_Integer Index, const IntPolyh_ArrayOfTriangles& TTriangles) const;
|
||||
|
||||
Standard_EXPORT Standard_Integer GetNextTriangle2 (const Standard_Integer NumTri, const Standard_Integer NumEdge, const IntPolyh_ArrayOfEdges& TEdges) const;
|
||||
|
||||
Standard_EXPORT void MiddleRefinement (const Standard_Integer TriangleNumber, const Handle(Adaptor3d_HSurface)& MySurface, IntPolyh_ArrayOfPoints& TPoints, IntPolyh_ArrayOfTriangles& TTriangles, IntPolyh_ArrayOfEdges& TEdges);
|
||||
|
||||
Standard_EXPORT void MultipleMiddleRefinement (const Standard_Integer NombreAffinages, const Standard_Integer TriangleNumber, const Handle(Adaptor3d_HSurface)& MySurface, IntPolyh_ArrayOfPoints& TPoints, IntPolyh_ArrayOfTriangles& TTriangles, IntPolyh_ArrayOfEdges& TEdges);
|
||||
|
||||
Standard_EXPORT Standard_Integer CompareBoxTriangle (const Bnd_Box& b, const IntPolyh_ArrayOfPoints& TPoints) const;
|
||||
|
||||
Standard_EXPORT void MultipleMiddleRefinement2 (const Standard_Real RefineCriterion, const Bnd_Box& thebox, const Standard_Integer TriangleNumber, const Handle(Adaptor3d_HSurface)& MySurface, IntPolyh_ArrayOfPoints& TPoints, IntPolyh_ArrayOfTriangles& TTriangles, IntPolyh_ArrayOfEdges& TEdges);
|
||||
|
||||
Standard_EXPORT Standard_Integer GetNextChainTriangle (const IntPolyh_StartPoint& SPIni, const Standard_Integer LastTTC, IntPolyh_ArrayOfCouples& TriContactsArray, const IntPolyh_ArrayOfTriangles& TTriangles1, const IntPolyh_ArrayOfTriangles& TTriangles2, Standard_Integer& NumContact, Standard_Integer& NextTriangle) const;
|
||||
|
||||
Standard_EXPORT void LinkEdges2Triangle (const IntPolyh_ArrayOfEdges& TEdges, const Standard_Integer ed1, const Standard_Integer ed2, const Standard_Integer ed3);
|
||||
|
||||
Standard_EXPORT void SetEdgeandOrientation (const Standard_Integer Edge, const IntPolyh_ArrayOfEdges& TEdges);
|
||||
|
||||
Standard_EXPORT void Dump (const Standard_Integer v) const;
|
||||
|
||||
Standard_EXPORT void DumpFleche (const Standard_Integer v) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Standard_Integer p1;
|
||||
Standard_Integer p2;
|
||||
Standard_Integer p3;
|
||||
Standard_Integer e1;
|
||||
Standard_Integer oe1;
|
||||
Standard_Integer e2;
|
||||
Standard_Integer oe2;
|
||||
Standard_Integer e3;
|
||||
Standard_Integer oe3;
|
||||
Standard_Integer II;
|
||||
Standard_Integer IP;
|
||||
Standard_Real Fleche;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _IntPolyh_Triangle_HeaderFile
|
Reference in New Issue
Block a user