mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-07-13 15:19:13 +08:00
OCC22357 Hidden face selection
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
-- File: Select3D_SensitiveEntity.cdl
|
||||
-- Created: Tue Jan 24 09:30:34 1995
|
||||
-- Author: Rob
|
||||
-- modified by rob jul/ 21/ 97 : inserting locations ...
|
||||
-- modified by rob jul/ 21/ 97 : inserting locations ...
|
||||
-- modified by rob jan/ 29/ 98 : Sort by deph-> add a field to be able
|
||||
-- to compute a depth
|
||||
-- to compute a depth
|
||||
-- -> Virtual methods rather than
|
||||
-- Deferred for Project
|
||||
-- WARNING : Must be redefined for
|
||||
-- WARNING : Must be redefined for
|
||||
-- each kind of sensitive entity
|
||||
--
|
||||
--
|
||||
---Copyright: Matra Datavision 1995
|
||||
|
||||
|
||||
deferred class SensitiveEntity from Select3D inherits
|
||||
deferred class SensitiveEntity from Select3D inherits
|
||||
SensitiveEntity from SelectBasics
|
||||
|
||||
---Purpose: Abstract framework to define 3D sensitive entities.
|
||||
@@ -29,7 +29,7 @@ uses
|
||||
EntityOwner from SelectBasics,
|
||||
Location from TopLoc,
|
||||
Lin from gp,
|
||||
Box2d from Bnd,
|
||||
Box2d from Bnd,
|
||||
Array1OfPnt2d from TColgp
|
||||
|
||||
is
|
||||
@@ -37,26 +37,26 @@ is
|
||||
Initialize(OwnerId : EntityOwner from SelectBasics);
|
||||
|
||||
NeedsConversion(me) returns Boolean is redefined static;
|
||||
---Level: Public
|
||||
---Level: Public
|
||||
---Purpose: Returns true if this framework needs conversion.
|
||||
---C++: inline
|
||||
|
||||
|
||||
Is3D(me) returns Boolean from Standard is redefined static;
|
||||
---Purpose: Returns true if this framework provides 3D information.
|
||||
|
||||
Project (me:mutable;aProjector : Projector from Select3D) is virtual;
|
||||
---Level: Public
|
||||
---Level: Public
|
||||
---Purpose:Returns the projector aProjector.
|
||||
-- In classes inheriting this framework, you must
|
||||
-- redefine this function in order to get a sensitive 2D
|
||||
-- rectangle from a 3D entity. This rectangle is the
|
||||
-- sensitive zone which makes the 3D entity selectable.
|
||||
-- sensitive zone which makes the 3D entity selectable.
|
||||
|
||||
|
||||
MaxBoxes(me) returns Integer is redefined virtual;
|
||||
---Level: Public
|
||||
---Purpose: Returns the max number of sensitive areas returned
|
||||
-- by this class is 1 by default.
|
||||
---Level: Public
|
||||
---Purpose: Returns the max number of sensitive areas returned
|
||||
-- by this class is 1 by default.
|
||||
-- Else on must redefine this method.
|
||||
|
||||
|
||||
@@ -66,18 +66,18 @@ is
|
||||
-- You must redefine this function for any type of
|
||||
-- sensitive entity which can accept another connected
|
||||
-- sensitive entity.//can be connected to another sensitive entity.
|
||||
|
||||
Matches(me :mutable;
|
||||
|
||||
Matches(me :mutable;
|
||||
X,Y : Real from Standard;
|
||||
aTol: Real from Standard;
|
||||
DMin: out Real from Standard)
|
||||
DMin: out Real from Standard)
|
||||
returns Boolean is redefined virtual;
|
||||
---Purpose: Matches the coordinates X, Y with the entity found at
|
||||
-- that point within the tolerance aTol and the minimum depth DMin.
|
||||
-- You must redefine this function for every inheriting entity.
|
||||
-- You will have to call this framework inside the redefined function.
|
||||
|
||||
Matches (me :mutable;
|
||||
Matches (me :mutable;
|
||||
XMin,YMin,XMax,YMax : Real from Standard;
|
||||
aTol: Real from Standard)
|
||||
returns Boolean from Standard is redefined virtual;
|
||||
@@ -89,8 +89,8 @@ is
|
||||
-- maximum point in the upper right hand corner of the box.
|
||||
-- You must redefine this function for every inheriting entity.
|
||||
-- You will have to call this framework inside the redefined function.
|
||||
|
||||
Matches (me :mutable;
|
||||
|
||||
Matches (me :mutable;
|
||||
Polyline:Array1OfPnt2d from TColgp;
|
||||
aBox:Box2d from Bnd;
|
||||
aTol: Real from Standard)
|
||||
@@ -100,14 +100,14 @@ is
|
||||
|
||||
GetEyeLine(me; X,Y : Real from Standard) returns Lin from gp;
|
||||
---Purpose: Returns the eye line for the point defined by the coordinates X,Y.
|
||||
|
||||
ComputeDepth(me;EyeLine : Lin from gp) returns Real from Standard
|
||||
|
||||
ComputeDepth(me;EyeLine : Lin from gp) returns Real from Standard
|
||||
is deferred;
|
||||
---Purpose: Returns the depth of this object on the line EyeLine.
|
||||
-- EyeLine goes through the eye towards a point
|
||||
-- defined by the coordinates X,Y in the function GetEyeLine.
|
||||
---Purpose: gives an abcissa on <aLin> .
|
||||
-- <aLin> represents the line going through
|
||||
-- <aLin> represents the line going through
|
||||
-- the eye towards an X,Y point on the screen. This Method
|
||||
-- must return a mean Depth on this line.
|
||||
|
||||
@@ -115,7 +115,7 @@ is
|
||||
Depth(me) returns Real from Standard is redefined;
|
||||
|
||||
---Category: Location of sensitive entities...
|
||||
-- Default implementations of HasLocation() and Location() rely on
|
||||
-- Default implementations of HasLocation() and Location() rely on
|
||||
-- location obtained from the entity owner, to minimize memory usage.
|
||||
-- SetLocation() and ResetLocation() do nothing by default.
|
||||
|
||||
@@ -134,7 +134,7 @@ is
|
||||
---Purpose: 2 options :
|
||||
-- <FullDump> = False -> general information
|
||||
-- <FullDump> = True -> whole informtion 3D +2d ...
|
||||
|
||||
|
||||
DumpBox(myclass; S: in out OStream;abox:Box2d from Bnd) ;
|
||||
|
||||
UpdateLocation(me:mutable;aLoc:Location from TopLoc);
|
||||
@@ -145,8 +145,8 @@ is
|
||||
SetLastDepth(me:mutable; aDepth: Real from Standard) is protected;
|
||||
|
||||
fields
|
||||
|
||||
mylastprj : Address from Standard is protected;
|
||||
|
||||
mylastprj : Projector from Select3D is protected;
|
||||
mylastdepth : ShortReal from Standard;
|
||||
end SensitiveEntity;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user