mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
parent
95ee0712bc
commit
86b52ffdea
File diff suppressed because it is too large
Load Diff
@ -309,9 +309,21 @@ is
|
|||||||
---C++: return const&
|
---C++: return const&
|
||||||
returns HCurve2d from Adaptor2d;
|
returns HCurve2d from Adaptor2d;
|
||||||
|
|
||||||
Dump(me)
|
ClearVertexes(me: mutable)
|
||||||
|
is static;
|
||||||
|
|
||||||
is static;
|
RemoveVertex(me: mutable;
|
||||||
|
theIndex : Integer from Standard)
|
||||||
|
is static;
|
||||||
|
|
||||||
|
InsertVertexBefore(me: mutable;
|
||||||
|
theIndex : Integer from Standard;
|
||||||
|
thePnt : Point from IntPatch)
|
||||||
|
is static;
|
||||||
|
|
||||||
|
Dump(me)
|
||||||
|
|
||||||
|
is static;
|
||||||
|
|
||||||
|
|
||||||
fields
|
fields
|
||||||
|
@ -622,7 +622,17 @@ void IntPatch_WLine::ComputeVertexParameters( const Standard_Real RTol,
|
|||||||
RecadreMemePeriode(POn2S,curv->Value(nbponline),U1Period(),V1Period(),U2Period(),V2Period());
|
RecadreMemePeriode(POn2S,curv->Value(nbponline),U1Period(),V1Period(),U2Period(),V2Period());
|
||||||
curv->Add(POn2S);
|
curv->Add(POn2S);
|
||||||
}
|
}
|
||||||
else {
|
else if(hasBeenAdded)
|
||||||
|
{
|
||||||
|
RecadreMemePeriode(POn2S,curv->Value(indicevertexonline+1),U1Period(),V1Period(),U2Period(),V2Period());
|
||||||
|
const IntSurf_PntOn2S aP2S1 = curv->Value(curv->NbPoints());
|
||||||
|
if(POn2S.Value().SquareDistance(aP2S1.Value()) > Precision::Confusion()*Precision::Confusion())
|
||||||
|
{
|
||||||
|
curv->InsertBefore(indicevertexonline+1,POn2S);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
RecadreMemePeriode(POn2S,curv->Value(indicevertexonline+1),U1Period(),V1Period(),U2Period(),V2Period());
|
RecadreMemePeriode(POn2S,curv->Value(indicevertexonline+1),U1Period(),V1Period(),U2Period(),V2Period());
|
||||||
curv->InsertBefore(indicevertexonline+1,POn2S);
|
curv->InsertBefore(indicevertexonline+1,POn2S);
|
||||||
}
|
}
|
||||||
|
@ -97,3 +97,27 @@ inline const IntPatch_Point& IntPatch_WLine::Vertex (const Standard_Integer Inde
|
|||||||
{
|
{
|
||||||
return svtx(Index);
|
return svtx(Index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void IntPatch_WLine::ClearVertexes()
|
||||||
|
{
|
||||||
|
svtx.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void IntPatch_WLine::RemoveVertex(const Standard_Integer theIndex)
|
||||||
|
{
|
||||||
|
if((theIndex < 1) || (theIndex > NbVertex()))
|
||||||
|
Standard_OutOfRange::Raise("Cannot delete not existing vertex");
|
||||||
|
svtx.Remove(theIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void IntPatch_WLine::InsertVertexBefore( const Standard_Integer theIndex,
|
||||||
|
const IntPatch_Point& thePnt)
|
||||||
|
{
|
||||||
|
const Standard_Integer aNbVertexes = NbVertex();
|
||||||
|
Standard_Integer anIndex = Max(theIndex, 1);
|
||||||
|
|
||||||
|
if(anIndex > aNbVertexes)
|
||||||
|
svtx.Append(thePnt);
|
||||||
|
else
|
||||||
|
svtx.InsertBefore(theIndex, thePnt);
|
||||||
|
}
|
||||||
|
@ -77,7 +77,7 @@ void IntTools_LineConstructor::Perform(const Handle(IntPatch_Line)& L)
|
|||||||
{
|
{
|
||||||
Standard_Integer i,nbvtx;
|
Standard_Integer i,nbvtx;
|
||||||
Standard_Real firstp,lastp;
|
Standard_Real firstp,lastp;
|
||||||
const Standard_Real Tol = Precision::PConfusion() * 35.0;
|
const Standard_Real Tol = 1.001e-6;//Precision::PConfusion() * 35.0;
|
||||||
|
|
||||||
const IntPatch_IType typl = L->ArcType();
|
const IntPatch_IType typl = L->ArcType();
|
||||||
if(typl == IntPatch_Analytic) {
|
if(typl == IntPatch_Analytic) {
|
||||||
|
@ -29,7 +29,7 @@ package IntWalk
|
|||||||
-- All the methods of the classes of this package are Internal.
|
-- All the methods of the classes of this package are Internal.
|
||||||
--
|
--
|
||||||
uses
|
uses
|
||||||
Standard, MMgt, TCollection, TColStd, gp, math, StdFail, IntSurf, IntImp
|
Standard, MMgt, TCollection, TColStd, gp, math, StdFail, IntSurf, IntImp, Adaptor3d, Bnd
|
||||||
|
|
||||||
is
|
is
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ is
|
|||||||
ArretSurPoint, OK;
|
ArretSurPoint, OK;
|
||||||
|
|
||||||
-- StepTooGreat, ConfusedPoint, StopOnPreviousPoint, StopOnPoint, OK
|
-- StepTooGreat, ConfusedPoint, StopOnPreviousPoint, StopOnPoint, OK
|
||||||
|
|
||||||
-- class for definition of ressources on a biparametric surface
|
-- class for definition of ressources on a biparametric surface
|
||||||
|
|
||||||
deferred generic class PSurfaceTool;
|
deferred generic class PSurfaceTool;
|
||||||
@ -67,7 +67,7 @@ is
|
|||||||
|
|
||||||
imported VectorOfWalkingData;
|
imported VectorOfWalkingData;
|
||||||
---Purpose: Defines a dynamic vector of work data.
|
---Purpose: Defines a dynamic vector of work data.
|
||||||
|
|
||||||
imported VectorOfInteger;
|
imported VectorOfInteger;
|
||||||
---Purpose: Defines a dynamic vector of integer.
|
---Purpose: Defines a dynamic vector of integer.
|
||||||
|
|
||||||
@ -76,6 +76,6 @@ is
|
|||||||
-- 2 biparametric surfaces
|
-- 2 biparametric surfaces
|
||||||
|
|
||||||
generic class PWalking, TheInt2S;
|
generic class PWalking, TheInt2S;
|
||||||
|
|
||||||
|
|
||||||
end IntWalk;
|
end IntWalk;
|
||||||
|
@ -35,15 +35,17 @@ generic class IWalking from IntWalk (
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
uses Vector from math,
|
uses Vector from math,
|
||||||
SequenceOfInteger from TColStd,
|
SequenceOfInteger from TColStd,
|
||||||
SequenceOfReal from TColStd,
|
SequenceOfReal from TColStd,
|
||||||
StatusDeflection from IntWalk,
|
StatusDeflection from IntWalk,
|
||||||
VectorOfInteger from IntWalk,
|
VectorOfInteger from IntWalk,
|
||||||
VectorOfWalkingData from IntWalk,
|
VectorOfWalkingData from IntWalk,
|
||||||
Vec from gp,
|
Vec from gp,
|
||||||
Dir2d from gp,
|
Dir2d from gp,
|
||||||
PntOn2S from IntSurf
|
Pnt from gp,
|
||||||
|
PntOn2S from IntSurf,
|
||||||
|
Box2d from Bnd
|
||||||
|
|
||||||
|
|
||||||
raises NotDone from StdFail,
|
raises NotDone from StdFail,
|
||||||
@ -270,7 +272,60 @@ is
|
|||||||
Clear (me: in out) is static protected;
|
Clear (me: in out) is static protected;
|
||||||
---Purpose: Clears up internal containers
|
---Purpose: Clears up internal containers
|
||||||
|
|
||||||
|
DistanceMinimizeByGradient (me: in out;
|
||||||
|
theASurf1 , theASurf2 : ThePSurface;
|
||||||
|
theU1, theV1, theU2, theV2: out Real from Standard;
|
||||||
|
theBox1, theBox2: Box2d from Bnd;
|
||||||
|
theStep0U1V1: Real from Standard = 1.0e-6;
|
||||||
|
theStep0U2V2: Real from Standard = 1.0e-6)
|
||||||
|
returns Boolean from Standard
|
||||||
|
is static protected;
|
||||||
|
---Purpose: Clears up internal containers
|
||||||
|
|
||||||
|
DistanceMinimizeByExtrema (me: in out;
|
||||||
|
theASurf : ThePSurface;
|
||||||
|
theP0 : Pnt from gp;
|
||||||
|
theU0, theV0: out Real from Standard;
|
||||||
|
theStep0U: Real from Standard = 1.0;
|
||||||
|
theStep0V: Real from Standard = 1.0)
|
||||||
|
returns Boolean from Standard
|
||||||
|
is static protected;
|
||||||
|
---Purpose: Clears up internal containers
|
||||||
|
|
||||||
|
SeekPointOnBoundary(me : in out;
|
||||||
|
theASurf1 , theASurf2 : ThePSurface ;
|
||||||
|
theU1, theV1, theU2, theV2: Real from Standard;
|
||||||
|
isTheFirst : Boolean from Standard;
|
||||||
|
theNCurve : Integer from Standard;
|
||||||
|
theExtendingType : Integer from Standard;
|
||||||
|
theParamTol : Real from Standard)
|
||||||
|
returns Boolean from Standard
|
||||||
|
is static protected;
|
||||||
|
-- Unites and correctly coordinates of work of
|
||||||
|
-- "DistanceMinimizeByGradient" and "DistanceMinimizeByExtrema" functions.
|
||||||
|
|
||||||
|
|
||||||
|
PutToBoundary(me : in out;
|
||||||
|
theASurf1 , theASurf2 : ThePSurface;
|
||||||
|
theNCurve : Integer from Standard)
|
||||||
|
-- Tries to extend existing intersection line
|
||||||
|
-- (as set of points) to surface's boundaries,
|
||||||
|
-- if it is possibly.
|
||||||
|
-- If line is scienter far from boundaries
|
||||||
|
-- or is (almost) parralel with some boundary,
|
||||||
|
-- extending is not required.
|
||||||
|
returns Boolean from Standard;
|
||||||
|
|
||||||
|
|
||||||
|
SeekAdditionalPoints( me : in out;
|
||||||
|
theASurf1 , theASurf2 : ThePSurface;
|
||||||
|
theMinNbPoints : Integer from Standard;
|
||||||
|
theNCurve : Integer from Standard)
|
||||||
|
returns Boolean from Standard;
|
||||||
|
-- Unites and correctly coordinates of work of
|
||||||
|
-- "DistanceMinimizeByGradient" and "DistanceMinimizeByExtrema" functions.
|
||||||
|
|
||||||
|
|
||||||
fields
|
fields
|
||||||
|
|
||||||
done : Boolean from Standard;
|
done : Boolean from Standard;
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user