DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0022720

Wrong intersection point for the case of intersection between sphere and plane

Open CASCADEOCCT:Modeling Algorithmsclosed4 public notes

Search issues

Description

The algorithm of intersection between sphere and plane produces an intersection point that does not belong to the plane

Steps to reproduce

Use the following Draw commands to reproduce the bug.

restore f1 b1
restore f2 b2

mksurface s1 b1
mksurface s2 b2
trim s1t s1 0 2 0 2

intersect i s1t s2


Additional information

1. Initial shapes (see the file Attachment 2 (ZIP) attached)

2. To obtain the results of "Steps To Reproduce" it is necesary to take int account the modifications in the file(s):

 GeometryTest_CurveCommands.cxx

that will be done later.

-----------------------

Version 1

1. New features:
no New features

2. Changes:
2.1. class IntPatch_ImpImpIntersection
    2.1.1. method: void IntPatch_ImpImpIntersection::Perform(
const Handle(Adaptor3d_HSurface)& S1,
const Handle(Adaptor3d_TopolTool)& D1,
const Handle(Adaptor3d_HSurface)& S2,
const Handle(Adaptor3d_TopolTool)& D2,
const Standard_Real TolArc,
const Standard_Real TolTang)

    The check-up of intersection points has been added.
    The contents of the check-up is to analyse
    whether the intersection point ia within the 2D-domain
    of the surface or not.
    Only intersection points that are not out of the 2D-domains
    of both surfaces are added to the resulting sequence.
    
2.2. static functions
    2.2.1 static Standard_Integer intersection (
Draw_Interpretor& di,
Standard_Integer n,
const char** a)

    The graphical display of the intersection points for
    the case of intersection of two surfaces has been added.
 
III. Modified entities:
-packages:
 IntPatch
 GeometryTest

-classes:
 IntPatch_ImpImpIntersection

-functions
 intersection
 
-methods:
void IntPatch_ImpImpIntersection::Perform(
const Handle(Adaptor3d_HSurface)& S1,
const Handle(Adaptor3d_TopolTool)& D1,
const Handle(Adaptor3d_HSurface)& S2,
const Handle(Adaptor3d_TopolTool)& D2,
const Standard_Real TolArc,
const Standard_Real TolTang)

Public activity

4 archived notes

Participants are labeled by their role within this record.

01Commenter 1
SVN branch http://svn/svn/occt/branches/0022720 is ready to be reviewed
02Commenter 2
Small correction done in file IntPatch_ImpImpIntersection_2.gxx:
line 490: "D2" instead of "D1"
03Commenter 3
Dear Commenter 1,
Workbench KAS:dev:mkv-OCC22720-occt has been created from SVN branch http://svn/svn/occt/branches/0022720
(and mkv-OCC22720-products from trank) and compiled on Linux platform.

There are not regressions in mkv-OCC22720-products regarding to KAS:dev:products-20110902-opt

See results in /dn45/occttests/results/KAS/dev/mkv-OCC22720-products_06092011/lin
See reference results in /dn45/occttests/results/KAS/dev/products-20110902-opt_05092011/lin
See test cases in /dn45/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification
04Commenter 1
Integration into occt repository

Date: 2011-09-07 19:40:56 +0400 (Wed, 07 Sep 2011)
New Revision: 8983

Modified:
   trunk/src/GeometryTest/GeometryTest_CurveCommands.cxx
   trunk/src/IntPatch/IntPatch_ImpImpIntersection_2.gxx