X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FPrsMgr%2FPrsMgr_PresentableObject.cdl;h=fa0527336a1ef5971d0d1207f920a2d72989b162;hp=5cc4a8928e2069b3d8ddf54ba32e0cb005e05814;hb=eb4320f2d9eab96323bbd611c373ab632b7b6cda;hpb=59f45b7cefdfbbe8442fe35113530c3c0d21d2b6 diff --git a/src/PrsMgr/PrsMgr_PresentableObject.cdl b/src/PrsMgr/PrsMgr_PresentableObject.cdl index 5cc4a8928e..fa0527336a 100755 --- a/src/PrsMgr/PrsMgr_PresentableObject.cdl +++ b/src/PrsMgr/PrsMgr_PresentableObject.cdl @@ -1,6 +1,23 @@ --- File: PrsMgr_PresentableObject.cdl --- Created: Wed Jan 25 09:23:00 1995 --- Author: Jean-Louis Frenkel +-- Created on: 1995-01-25 +-- Created by: Jean-Louis Frenkel +-- Copyright (c) 1995-1999 Matra Datavision +-- Copyright (c) 1999-2012 OPEN CASCADE SAS +-- +-- The content of this file is subject to the Open CASCADE Technology Public +-- License Version 6.5 (the "License"). You may not use the content of this file +-- except in compliance with the License. Please obtain a copy of the License +-- at http://www.opencascade.org and read it completely before using this file. +-- +-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its +-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. +-- +-- The Original Code and all software distributed under the License is +-- distributed on an "AS IS" basis, without warranty of any kind, and the +-- Initial Developer hereby disclaims all such warranties, including without +-- limitation, any warranties of merchantability, fitness for a particular +-- purpose or non-infringement. Please see the License for the specific terms +-- and conditions governing the rights and limitations under the License. + -- Modified by Rob (18/12/96) -> information about modes to update. -- Rob (04/07/97) -> TypeOfPresentation3d () Method -- changed to Public Method. @@ -14,13 +31,11 @@ -- and no more private. -- SAN (22/03/04) -> OCC4895 High-level interface for controlling -- polygon offsets: Fill() made protected virtual. --- ----Copyright: Matra Datavision 1995 deferred class PresentableObject from PrsMgr inherits TShared from MMgt - ---Purpose: A framework to supply the Graphic2d or Graphic3d + ---Purpose: A framework to supply the Graphic3d -- structure of the object to be presented. On the first -- display request, this structure is created by calling the -- appropriate algorithm and retaining this frameworkfor @@ -39,10 +54,8 @@ deferred class PresentableObject from PrsMgr inherits TShared from MMgt uses Presentation from PrsMgr, Presentation from Prs3d, - GraphicObject from Graphic2d, Presentations from PrsMgr, PresentationManager from PrsMgr, - PresentationManager2d from PrsMgr, PresentationManager3d from PrsMgr, TypeOfPresentation3d from PrsMgr, DataStructureManager from Graphic3d, @@ -50,6 +63,8 @@ uses Transformation from Geom, ListOfInteger from TColStd, Location from TopLoc, + ClipPlane_Handle from Graphic3d, + SetOfHClipPlane from Graphic3d, -- ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) TransModeFlags from Graphic3d, Pnt from gp, @@ -65,19 +80,6 @@ is ---Category: deferred methods. -- - Compute(me:mutable; - aPresentationManager: PresentationManager2d from PrsMgr; - aPresentation: mutable GraphicObject from Graphic2d; - aMode: Integer from Standard = 0) - ---Purpose: Calculates the 2D view aPresentation and its - -- updates. The latter are managed by aPresentationManager. - -- aPresentableObject has the display mode aMode; - -- this has the default value of 0, that is, the wireframe display mode. - -- Note that this syntax is not used in AIS as that - -- package only concerns 3D display. - - raises NotImplemented from Standard - is virtual protected; Compute(me:mutable; aPresentationManager: PresentationManager3d from PrsMgr; @@ -249,15 +251,51 @@ is returns Integer from Standard is static; ---Purpose: Get ID of Z layer. If no presentations of object is displayed, -- and layer ID is unavailable, the -1 value is returned. - + + AddClipPlane (me : mutable; thePlane : ClipPlane_Handle from Graphic3d) is virtual; + ---Purpose: Adds clip plane for graphical clipping for all display mode + -- presentations. The composition of clip planes truncates the rendering + -- space to convex volume. Please be aware that number of supported + -- clip plane is limited. The planes which exceed the limit are ignored. + -- Besides of this, some planes can be already set in view where the object + -- is shown: the number of these planes should be substracted from limit + -- to predict the maximum possible number of object clipping planes. + -- @param thePlane [in] the clip plane to be appended to map of clip planes. + + RemoveClipPlane (me : mutable; thePlane : ClipPlane_Handle from Graphic3d) is virtual; + ---Purpose: Removes previously added clip plane. + -- @param thePlane [in] the clip plane to be removed from map of clip planes. + + SetClipPlanes (me : mutable; thePlanes : SetOfHClipPlane from Graphic3d) is virtual; + ---Purpose: Set clip planes for graphical clipping for all display mode presentations. + -- The composition of clip planes truncates the rendering space to convex + -- volume. Please be aware that number of supported clip plane is limited. + -- The planes which exceed the limit are ignored. Besides of this, some + -- planes can be already set in view where the object is shown: the number + -- of these planes should be substracted from limit to predict the maximum + -- possible number of object clipping planes. + + GetClipPlanes (me) returns SetOfHClipPlane from Graphic3d; + ---C++: inline + ---C++: return const& + ---Purpose: Get clip planes. + -- @return set of previously added clip planes for all display mode presentations. + + UpdateClipping (me : mutable) is virtual protected; + ---Purpose: General virtual method for internal update of presentation state + -- when some modifications on list of clip planes occurs. Base + -- implementation propagate clip planes to every presentation. + fields myPresentations: Presentations from PrsMgr is protected; myTypeOfPresentation3d: TypeOfPresentation3d from PrsMgr is protected; myLocation : Location from TopLoc is protected; + myClipPlanes : SetOfHClipPlane from Graphic3d is protected; --myTransformPersistence : TransModeFlags from Graphic3d; myTransformPersistence : CTransPersStruct from Graphic3d; friends + class Presentation3d from PrsMgr, class PresentationManager from PrsMgr, Compute from Presentation3d from PrsMgr(me : mutable; aProjector : DataStructureManager from Graphic3d), Compute from Presentation3d from PrsMgr(me : mutable; aProjector : DataStructureManager from Graphic3d;