-- Created on: 1992-08-26
-- Created by: Jean Louis FRENKEL
-- Copyright (c) 1992-1999 Matra Datavision
--- Copyright (c) 1999-2012 OPEN CASCADE SAS
+-- Copyright (c) 1999-2014 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.
+-- This file is part of Open CASCADE Technology software library.
--
--- 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.
+-- 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.
--
--- 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.
-
+-- Alternatively, this file may be used under the terms of Open CASCADE
+-- commercial license or contractual agreement.
package Prs3d
- ---Purpose: The Prs3d package provides the following services
- -- - a presentation object (the context for all
- -- modifications to the display, its presentation will be
- -- displayed in every view of an active viewer)
- -- - an attribute manager governing how objects such
- -- as color, width, and type of line are displayed;
- -- these are generic objects, whereas those in
- -- StdPrs are specific geometries and topologies.
- -- - generic algorithms providing default settings for
- -- objects such as points, curves, surfaces and shapes
- -- - a root object which provides the abstract
- -- framework for the DsgPrs definitions at work in
- -- display of dimensions, relations and trihedra.
+ ---Purpose: The Prs3d package provides the following services
+ -- - a presentation object (the context for all
+ -- modifications to the display, its presentation will be
+ -- displayed in every view of an active viewer)
+ -- - an attribute manager governing how objects such
+ -- as color, width, and type of line are displayed;
+ -- these are generic objects, whereas those in
+ -- StdPrs are specific geometries and topologies.
+ -- - generic algorithms providing default settings for
+ -- objects such as points, curves, surfaces and shapes
+ -- - a root object which provides the abstract
+ -- framework for the DsgPrs definitions at work in
+ -- display of dimensions, relations and trihedra.
uses
Graphic3d,
-- DAO_Fit - arrows oriented inside if value label with arrowtips fit the dimension line,
-- otherwise - externally
+ enumeration VertexDrawMode is VDM_Isolated, VDM_All, VDM_Inherited;
+ ---Purpose: Describes supported modes of visualization of the shape's vertices:
+ -- VDM_Isolated - only isolated vertices (not belonging to a face) are displayed.
+ -- VDM_All - all vertices of the shape are displayed.
+ -- VDM_Inherited - the global settings are inherited and applied to the shape's presentation.
+
class Presentation;
- ---Purpose: defines the presentation object. This object can be
- -- displayed, highlighted, erased, etc... The output
- -- of the presentation algorithms are sent in a
- -- presentation object. A presentation object is attached
- -- to a given Viewer.
- ---Category: Aspect classes.
- ---Purpose: The aspect classes qualifies how to represent
- -- a given kind of object.
- --
+ ---Category: Aspect classes.
deferred class BasicAspect;
class PointAspect;
class LineAspect;
- class ShadingAspect;
- class TextAspect;
+ class ShadingAspect;
+ class TextAspect;
class IsoAspect;
class ArrowAspect;
- class PlaneAspect;
+ class PlaneAspect;
class DimensionAspect;
- class DatumAspect;
+ class DatumAspect;
+ imported DimensionUnits;
class Drawer;
- ---Purpose: qualifies how the presentation algorithms compute
- -- the presentation of a specific kind of object.
- -- This includes for example color, width and type
- -- of lines, maximal chordial deviation, etc...
- -- A drawer includes an instance of the Aspect classes
- -- with particular default values.
-
+
class Projector;
- ---Purpose: defines the projection parameters for the hidden
- -- lines removal algorithm.
-
+
class PlaneSet;
- ---Purpose: defines a set of planes used for a presentation
- -- by sections.
- --
deferred class Root;
- ---Purpose: defines the root of the presentation algorithms.
---Category: Basis construction elements.
- class Text;
+ class Text;
---Category: Class signatures.
- class ShapeTool;
- ---Purpose: describes the behaviour requested for a wireframe
- -- shape presentation.
+ class ShapeTool;
class Arrow;
- ---Purpose: draws an arrow at a given location, with respect
- -- to a given direction.
+ ---Purpose: draws an arrow at a given location, with respect
+ -- to a given direction.
imported NListOfSequenceOfPnt;
imported NListIteratorListOfSequenceOfPnt;
imported WFShape;
MatchSegment(X,Y,Z: Length from Quantity;
- aDistance: Length from Quantity;
- p1,p2: Pnt from gp;
+ aDistance: Length from Quantity;
+ p1,p2: Pnt from gp;
dist: out Length from Quantity)
- returns Boolean from Standard;
+ returns Boolean from Standard;
+
+ GetDeflection (theShape : Shape from TopoDS;
+ theDrawer : Drawer from Prs3d)
+ returns Real from Standard;
+ ---Purpose: Computes the absolute deflection value depending on
+ -- the type of deflection in theDrawer:
+ -- <ul>
+ -- <li><b>Aspect_TOD_RELATIVE</b>: the absolute deflection is computed using the relative
+ -- deviation coefficient from theDrawer and the shape's bounding box;</li>
+ -- <li><b>Aspect_TOD_ABSOLUTE</b>: the maximal chordial deviation from theDrawer is returned.</li>
+ -- </ul>
+ -- This function should always be used to compute the deflection value for building
+ -- discrete representations of the shape (triangualtion, wireframe) to avoid incosistencies
+ -- between different representations of the shape and undesirable visual artifacts.
end Prs3d;