1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0024002: Overall code and build procedure refactoring -- automatic

Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
This commit is contained in:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,179 +0,0 @@
-- Created on: 1994-10-03
-- Created by: Arnaud BOUZY
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
package DsgPrs
---Purpose: Describes Standard Presentations for DsgIHM objects
uses Prs3d,
gp,
TCollection,
TopoDS,
Quantity,
Geom
is
enumeration ArrowSide is AS_NONE,AS_FIRSTAR,AS_LASTAR,AS_BOTHAR,AS_FIRSTPT,AS_LASTPT,AS_BOTHPT,
AS_FIRSTAR_LASTPT,AS_FIRSTPT_LASTAR;
---Purpose: Designates how many arrows will be displayed and
-- where they will be displayed in presenting a length.
class EllipseRadiusPresentation;
class LengthPresentation;
class RadiusPresentation;
class DiameterPresentation;
class FilletRadiusPresentation;
class AnglePresentation;
class Chamf2dPresentation;
class ParalPresentation;
class PerpenPresentation;
class SymmetricPresentation; -- presentation for axial symmetry
class MidPointPresentation; -- presentation for equal distance from point
class TangentPresentation;
class ConcentricPresentation;
class FixPresentation;
class IdenticPresentation;
class EqualRadiusPresentation;
class EqualDistancePresentation;
class SymbPresentation;
class ShapeDirPresentation;
class OffsetPresentation;
class XYZAxisPresentation;
class XYZPlanePresentation;
class ShadedPlanePresentation;
imported DatumPrs;
ComputeSymbol(aPresentation: Presentation from Prs3d;
anAspect: DimensionAspect from Prs3d;
pt1,pt2:Pnt from gp;
dir1,dir2: Dir from gp;
ArrowSide: ArrowSide from DsgPrs;
drawFromCenter: Boolean = Standard_True);
---Purpose: draws symbols ((one or two) arrows,(one or two)points
-- at thebeginning and at the end of the dimension
ComputePlanarFacesLengthPresentation( FirstArrowLength : Real from Standard;
SecondArrowLength : Real from Standard;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
DirAttach : Dir from gp;
OffsetPoint : Pnt from gp;
PlaneOfFaces : Pln from gp;
EndOfArrow1 : out Pnt from gp;
EndOfArrow2 : out Pnt from gp;
DirOfArrow1 : out Dir from gp );
ComputeCurvilinearFacesLengthPresentation( FirstArrowLength : Real from Standard;
SecondArrowLength : Real from Standard;
SecondSurf : Surface from Geom;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
DirAttach : Dir from gp;
EndOfArrow2 : out Pnt from gp;
DirOfArrow1 : out Dir from gp;
VCurve : out Curve from Geom;
UCurve : out Curve from Geom;
FirstU : out Real from Standard;
deltaU : out Real from Standard;
FirstV : out Real from Standard;
deltaV : out Real from Standard );
ComputeFacesAnglePresentation( ArrowLength : Real from Standard;
Value : Real from Standard;
CenterPoint : Pnt from gp;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
dir1 : Dir from gp;
dir2 : Dir from gp;
axisdir : Dir from gp;
isPlane : Boolean from Standard;
AxisOfSurf : Ax1 from gp;
OffsetPoint : Pnt from gp;
AngleCirc : out Circ from gp;
FirstParAngleCirc : out Real from Standard;
LastParAngleCirc : out Real from Standard;
EndOfArrow1 : out Pnt from gp;
EndOfArrow2 : out Pnt from gp;
DirOfArrow1 : out Dir from gp;
DirOfArrow2 : out Dir from gp;
ProjAttachPoint2 : out Pnt from gp;
AttachCirc : out Circ from gp;
FirstParAttachCirc : out Real from Standard;
LastParAttachCirc : out Real from Standard );
ComputeRadiusLine( aCenter : Pnt from gp;
anEndOfArrow : Pnt from gp;
aPosition : Pnt from gp;
drawFromCenter: Boolean from Standard;
aRadLineOrign : out Pnt from gp;
aRadLineEnd : out Pnt from gp);
ComputeFilletRadiusPresentation( ArrowLength : Real from Standard;
Value : Real from Standard;
Position : Pnt from gp;
NormalDir : Dir from gp;
FirstPoint : Pnt from gp;
SecondPoint : Pnt from gp;
Center : Pnt from gp;
BasePnt : Pnt from gp;
drawRevers : Boolean from Standard;
SpecCase : out Boolean from Standard;
FilletCirc : out Circ from gp;
FirstParCirc : out Real from Standard;
LastParCirc : out Real from Standard;
EndOfArrow : out Pnt from gp;
DirOfArrow : out Dir from gp;
DrawPosition : out Pnt from gp );
---Purpose: computes Geometry for fillet radius presentation;
-- special case flag SpecCase equal Standard_True if
-- radius of fillet circle = 0 or if anngle between
-- Vec1(Center, FirstPoint) and Vec2(Center,SecondPoint) equal 0 or PI
DistanceFromApex( elips : Elips from gp;
Apex : Pnt from gp;
par : Real from Standard)
returns Real from Standard;
---Purpose: computes length of ellipse arc in parametric units
end DsgPrs;

View File

@@ -12,36 +12,42 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs.ixx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <Precision.hxx>
#include <DsgPrs.hxx>
#include <ElCLib.hxx>
#include <gp_Vec.hxx>
#include <Geom_Line.hxx>
#include <Geom_Circle.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <GeomAPI_ProjectPointOnSurf.hxx>
#include <GeomAPI_ProjectPointOnCurve.hxx>
#include <gce_MakeLin.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Line.hxx>
#include <Geom_Surface.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <GeomAPI_ProjectPointOnCurve.hxx>
#include <GeomAPI_ProjectPointOnSurf.hxx>
#include <gp_Ax1.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs::ComputeSymbol (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_DimensionAspect)& LA,

137
src/DsgPrs/DsgPrs.hxx Normal file
View File

@@ -0,0 +1,137 @@
// Created on: 1994-10-03
// Created by: Arnaud BOUZY
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_HeaderFile
#define _DsgPrs_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <DsgPrs_ArrowSide.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
class Prs3d_Presentation;
class Prs3d_DimensionAspect;
class gp_Pnt;
class gp_Dir;
class gp_Pln;
class Geom_Surface;
class Geom_Curve;
class gp_Ax1;
class gp_Circ;
class gp_Elips;
class DsgPrs_EllipseRadiusPresentation;
class DsgPrs_LengthPresentation;
class DsgPrs_RadiusPresentation;
class DsgPrs_DiameterPresentation;
class DsgPrs_FilletRadiusPresentation;
class DsgPrs_AnglePresentation;
class DsgPrs_Chamf2dPresentation;
class DsgPrs_ParalPresentation;
class DsgPrs_PerpenPresentation;
class DsgPrs_SymmetricPresentation;
class DsgPrs_MidPointPresentation;
class DsgPrs_TangentPresentation;
class DsgPrs_ConcentricPresentation;
class DsgPrs_FixPresentation;
class DsgPrs_IdenticPresentation;
class DsgPrs_EqualRadiusPresentation;
class DsgPrs_EqualDistancePresentation;
class DsgPrs_SymbPresentation;
class DsgPrs_ShapeDirPresentation;
class DsgPrs_OffsetPresentation;
class DsgPrs_XYZAxisPresentation;
class DsgPrs_XYZPlanePresentation;
class DsgPrs_ShadedPlanePresentation;
//! Describes Standard Presentations for DsgIHM objects
class DsgPrs
{
public:
DEFINE_STANDARD_ALLOC
//! draws symbols ((one or two) arrows,(one or two)points
//! at thebeginning and at the end of the dimension
Standard_EXPORT static void ComputeSymbol (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_DimensionAspect)& anAspect, const gp_Pnt& pt1, const gp_Pnt& pt2, const gp_Dir& dir1, const gp_Dir& dir2, const DsgPrs_ArrowSide ArrowSide, const Standard_Boolean drawFromCenter = Standard_True);
Standard_EXPORT static void ComputePlanarFacesLengthPresentation (const Standard_Real FirstArrowLength, const Standard_Real SecondArrowLength, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& DirAttach, const gp_Pnt& OffsetPoint, const gp_Pln& PlaneOfFaces, gp_Pnt& EndOfArrow1, gp_Pnt& EndOfArrow2, gp_Dir& DirOfArrow1);
Standard_EXPORT static void ComputeCurvilinearFacesLengthPresentation (const Standard_Real FirstArrowLength, const Standard_Real SecondArrowLength, const Handle(Geom_Surface)& SecondSurf, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& DirAttach, gp_Pnt& EndOfArrow2, gp_Dir& DirOfArrow1, Handle(Geom_Curve)& VCurve, Handle(Geom_Curve)& UCurve, Standard_Real& FirstU, Standard_Real& deltaU, Standard_Real& FirstV, Standard_Real& deltaV);
Standard_EXPORT static void ComputeFacesAnglePresentation (const Standard_Real ArrowLength, const Standard_Real Value, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Dir& axisdir, const Standard_Boolean isPlane, const gp_Ax1& AxisOfSurf, const gp_Pnt& OffsetPoint, gp_Circ& AngleCirc, Standard_Real& FirstParAngleCirc, Standard_Real& LastParAngleCirc, gp_Pnt& EndOfArrow1, gp_Pnt& EndOfArrow2, gp_Dir& DirOfArrow1, gp_Dir& DirOfArrow2, gp_Pnt& ProjAttachPoint2, gp_Circ& AttachCirc, Standard_Real& FirstParAttachCirc, Standard_Real& LastParAttachCirc);
Standard_EXPORT static void ComputeRadiusLine (const gp_Pnt& aCenter, const gp_Pnt& anEndOfArrow, const gp_Pnt& aPosition, const Standard_Boolean drawFromCenter, gp_Pnt& aRadLineOrign, gp_Pnt& aRadLineEnd);
//! computes Geometry for fillet radius presentation;
//! special case flag SpecCase equal Standard_True if
//! radius of fillet circle = 0 or if anngle between
//! Vec1(Center, FirstPoint) and Vec2(Center,SecondPoint) equal 0 or PI
Standard_EXPORT static void ComputeFilletRadiusPresentation (const Standard_Real ArrowLength, const Standard_Real Value, const gp_Pnt& Position, const gp_Dir& NormalDir, const gp_Pnt& FirstPoint, const gp_Pnt& SecondPoint, const gp_Pnt& Center, const gp_Pnt& BasePnt, const Standard_Boolean drawRevers, Standard_Boolean& SpecCase, gp_Circ& FilletCirc, Standard_Real& FirstParCirc, Standard_Real& LastParCirc, gp_Pnt& EndOfArrow, gp_Dir& DirOfArrow, gp_Pnt& DrawPosition);
//! computes length of ellipse arc in parametric units
Standard_EXPORT static Standard_Real DistanceFromApex (const gp_Elips& elips, const gp_Pnt& Apex, const Standard_Real par);
protected:
private:
friend class DsgPrs_EllipseRadiusPresentation;
friend class DsgPrs_LengthPresentation;
friend class DsgPrs_RadiusPresentation;
friend class DsgPrs_DiameterPresentation;
friend class DsgPrs_FilletRadiusPresentation;
friend class DsgPrs_AnglePresentation;
friend class DsgPrs_Chamf2dPresentation;
friend class DsgPrs_ParalPresentation;
friend class DsgPrs_PerpenPresentation;
friend class DsgPrs_SymmetricPresentation;
friend class DsgPrs_MidPointPresentation;
friend class DsgPrs_TangentPresentation;
friend class DsgPrs_ConcentricPresentation;
friend class DsgPrs_FixPresentation;
friend class DsgPrs_IdenticPresentation;
friend class DsgPrs_EqualRadiusPresentation;
friend class DsgPrs_EqualDistancePresentation;
friend class DsgPrs_SymbPresentation;
friend class DsgPrs_ShapeDirPresentation;
friend class DsgPrs_OffsetPresentation;
friend class DsgPrs_XYZAxisPresentation;
friend class DsgPrs_XYZPlanePresentation;
friend class DsgPrs_ShadedPlanePresentation;
};
#endif // _DsgPrs_HeaderFile

View File

@@ -1,140 +0,0 @@
-- Created on: 1995-02-07
-- Created by: Arnaud BOUZY
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
-- Modifs by ROB : Added one Method to take into Account Units in
-- Presentation
class AnglePresentation from DsgPrs
---Purpose: A framework for displaying angles.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Circ from gp,
Drawer from Prs3d,
ExtendedString from TCollection,
ArrowSide from DsgPrs,
Ax1 from gp
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aVal: Real from Standard;
aText: ExtendedString from TCollection;
aCircle: Circ from gp;
aPosition: Pnt from gp;
Apex: Pnt from gp;
VminCircle: Circ from gp;
VmaxCircle: Circ from gp;
aArrowSize: Real from Standard );
---Purpose: Draws the presenation of the full angle of a cone.
-- VminCircle - a circle at V parameter = Vmin
-- VmaxCircle - a circle at V parameter = Vmax
-- aCircle - a circle at V parameter from projection of aPosition to axis of the cone
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
theval: Real from Standard;
CenterPoint : Pnt from gp;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
dir1: Dir from gp;
dir2: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Draws the representation of the angle
-- defined by dir1 and dir2, centered on
-- CenterPoint, using the offset point OffsetPoint.
-- Lines are drawn to points AttachmentPoint1 and AttachmentPoint2
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
theval: Real from Standard;
thevalstring : ExtendedString from TCollection;
CenterPoint : Pnt from gp;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
dir1: Dir from gp;
dir2: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Same as above, but <thevalstring> contains conversion
-- in Session units....
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
theval: Real from Standard;
thevalstring : ExtendedString from TCollection;
CenterPoint : Pnt from gp;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
dir1: Dir from gp;
dir2: Dir from gp;
OffsetPoint: Pnt from gp;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: Same as above, may add one or
-- two Arrows according to <ArrowSide> value
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
theval: Real from Standard;
thevalstring : ExtendedString from TCollection;
CenterPoint : Pnt from gp;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
dir1: Dir from gp;
dir2: Dir from gp;
axisdir: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Same as above, but axisdir contains the axis direction
-- useful for Revol that can be opened with 180 degrees
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theval : Real from Standard;
thevalstring : ExtendedString from TCollection;
CenterPoint : Pnt from gp;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
dir1 : Dir from gp;
dir2 : Dir from gp;
axisdir : Dir from gp;
isPlane : Boolean from Standard;
AxisOfSurf : Ax1 from gp;
OffsetPoint : Pnt from gp;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: Same as above,may add one or
-- two Arrows according to <ArrowSide> value
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer:Drawer from Prs3d;
theval: Real from Standard;
theCenter,AttachmentPoint1:Pnt from gp;
theAxe: Ax1 from gp;
ArrowSide: ArrowSide from DsgPrs);
---Purpose: simple representation of a poor lonesome angle dimension
-- Draw a line from <theCenter> to <AttachmentPoint1>, then operates
-- a rotation around the perpmay add one or
-- two Arrows according to <ArrowSide> value. The
-- attributes (color,arrowsize,...) are driven by the Drawer.
end AnglePresentation;

View File

@@ -13,43 +13,42 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_AnglePresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <Precision.hxx>
#include <DsgPrs_AnglePresentation.hxx>
#include <ElCLib.hxx>
#include <GC_MakeCircle.hxx>
#include <gce_MakePln.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Line.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <GC_MakeCircle.hxx>
#include <gce_MakePln.hxx>
#include <gp_Ax1.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <UnitsAPI.hxx>
#include <stdio.h>
//------------------------------------------------------------------------------------------------------------------
// Returns 1 if C is above of CMin; 0 if C is bitween CMin and CMax; -1 if C is Below CMax
//-----------------------------------------------------------------------------------------------------------------

View File

@@ -0,0 +1,102 @@
// Created on: 1995-02-07
// Created by: Arnaud BOUZY
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_AnglePresentation_HeaderFile
#define _DsgPrs_AnglePresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
#include <DsgPrs_ArrowSide.hxx>
#include <Standard_Boolean.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Circ;
class gp_Pnt;
class gp_Dir;
class gp_Ax1;
//! A framework for displaying angles.
class DsgPrs_AnglePresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Draws the presenation of the full angle of a cone.
//! VminCircle - a circle at V parameter = Vmin
//! VmaxCircle - a circle at V parameter = Vmax
//! aCircle - a circle at V parameter from projection of aPosition to axis of the cone
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real aVal, const TCollection_ExtendedString& aText, const gp_Circ& aCircle, const gp_Pnt& aPosition, const gp_Pnt& Apex, const gp_Circ& VminCircle, const gp_Circ& VmaxCircle, const Standard_Real aArrowSize);
//! Draws the representation of the angle
//! defined by dir1 and dir2, centered on
//! CenterPoint, using the offset point OffsetPoint.
//! Lines are drawn to points AttachmentPoint1 and AttachmentPoint2
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Pnt& OffsetPoint);
//! Same as above, but <thevalstring> contains conversion
//! in Session units....
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& thevalstring, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Pnt& OffsetPoint);
//! Same as above, may add one or
//! two Arrows according to <ArrowSide> value
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& thevalstring, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
//! Same as above, but axisdir contains the axis direction
//! useful for Revol that can be opened with 180 degrees
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& thevalstring, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Dir& axisdir, const gp_Pnt& OffsetPoint);
//! Same as above,may add one or
//! two Arrows according to <ArrowSide> value
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& thevalstring, const gp_Pnt& CenterPoint, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& dir1, const gp_Dir& dir2, const gp_Dir& axisdir, const Standard_Boolean isPlane, const gp_Ax1& AxisOfSurf, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
//! simple representation of a poor lonesome angle dimension
//! Draw a line from <theCenter> to <AttachmentPoint1>, then operates
//! a rotation around the perpmay add one or
//! two Arrows according to <ArrowSide> value. The
//! attributes (color,arrowsize,...) are driven by the Drawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const gp_Pnt& theCenter, const gp_Pnt& AttachmentPoint1, const gp_Ax1& theAxe, const DsgPrs_ArrowSide ArrowSide);
protected:
private:
};
#endif // _DsgPrs_AnglePresentation_HeaderFile

View File

@@ -0,0 +1,35 @@
// Created on: 1994-10-03
// Created by: Arnaud BOUZY
// Copyright (c) 1994-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_ArrowSide_HeaderFile
#define _DsgPrs_ArrowSide_HeaderFile
//! Designates how many arrows will be displayed and
//! where they will be displayed in presenting a length.
enum DsgPrs_ArrowSide
{
DsgPrs_AS_NONE,
DsgPrs_AS_FIRSTAR,
DsgPrs_AS_LASTAR,
DsgPrs_AS_BOTHAR,
DsgPrs_AS_FIRSTPT,
DsgPrs_AS_LASTPT,
DsgPrs_AS_BOTHPT,
DsgPrs_AS_FIRSTAR_LASTPT,
DsgPrs_AS_FIRSTPT_LASTAR
};
#endif // _DsgPrs_ArrowSide_HeaderFile

View File

@@ -1,65 +0,0 @@
-- Created on: 1996-03-19
-- Created by: Flore Lantheaume
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class Chamf2dPresentation from DsgPrs
---Purpose: Framework for display of 2D chamfers.
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp,
ArrowSide from DsgPrs,
ExtendedString from TCollection
is
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aPntAttach : Pnt from gp;
aPntEnd : Pnt from gp;
aText : ExtendedString from TCollection);
---Purpose: Defines the display of elements showing 2D chamfers on shapes.
-- These include the text aText, the point of attachment,
-- aPntAttach and the end point aPntEnd.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aPntAttach : Pnt from gp;
aPntEnd : Pnt from gp;
aText : ExtendedString from TCollection;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: Defines the display of texts, symbols and icons used
-- to present 2D chamfers.
-- These include the text aText, the point of attachment,
-- aPntAttach and the end point aPntEnd.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer. The arrow
-- at the point of attachment has a display defined by a
-- value of the enumeration DsgPrs_Arrowside.
end Chamf2dPresentation;

View File

@@ -14,20 +14,20 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_Chamf2dPresentation.ixx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Text.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <DsgPrs.hxx>
#include <DsgPrs_Chamf2dPresentation.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_Chamf2dPresentation::Add(
const Handle(Prs3d_Presentation)& aPresentation,

View File

@@ -0,0 +1,81 @@
// Created on: 1996-03-19
// Created by: Flore Lantheaume
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_Chamf2dPresentation_HeaderFile
#define _DsgPrs_Chamf2dPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class TCollection_ExtendedString;
//! Framework for display of 2D chamfers.
class DsgPrs_Chamf2dPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines the display of elements showing 2D chamfers on shapes.
//! These include the text aText, the point of attachment,
//! aPntAttach and the end point aPntEnd.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPntAttach, const gp_Pnt& aPntEnd, const TCollection_ExtendedString& aText);
//! Defines the display of texts, symbols and icons used
//! to present 2D chamfers.
//! These include the text aText, the point of attachment,
//! aPntAttach and the end point aPntEnd.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer. The arrow
//! at the point of attachment has a display defined by a
//! value of the enumeration DsgPrs_Arrowside.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPntAttach, const gp_Pnt& aPntEnd, const TCollection_ExtendedString& aText, const DsgPrs_ArrowSide ArrowSide);
protected:
private:
};
#endif // _DsgPrs_Chamf2dPresentation_HeaderFile

View File

@@ -1,47 +0,0 @@
-- Created on: 1996-03-18
-- Created by: Flore Lantheaume
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ConcentricPresentation from DsgPrs
---Purpose: A framework to define display of relations of concentricity.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d
is
Add (myclass;
aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aCenter: Pnt from gp;
aRadius : Real from Standard;
aNorm : Dir from gp;
aPoint : Pnt from gp);
---Purpose: Defines the display of elements showing relations of
-- concentricity between shapes.
-- These include the center aCenter, the radius
-- aRadius, the direction aNorm and the point aPoint.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
end ConcentricPresentation;

View File

@@ -14,20 +14,19 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_ConcentricPresentation.ixx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_LineAspect.hxx>
#include <gp_Circ.hxx>
#include <gp_Pnt.hxx>
#include <gp_Dir.hxx>
#include <gp_Vec.hxx>
#include <DsgPrs_ConcentricPresentation.hxx>
#include <ElCLib.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
void DsgPrs_ConcentricPresentation::Add(
const Handle(Prs3d_Presentation)& aPresentation,

View File

@@ -0,0 +1,71 @@
// Created on: 1996-03-18
// Created by: Flore Lantheaume
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_ConcentricPresentation_HeaderFile
#define _DsgPrs_ConcentricPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class gp_Dir;
//! A framework to define display of relations of concentricity.
class DsgPrs_ConcentricPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines the display of elements showing relations of
//! concentricity between shapes.
//! These include the center aCenter, the radius
//! aRadius, the direction aNorm and the point aPoint.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aCenter, const Standard_Real aRadius, const gp_Dir& aNorm, const gp_Pnt& aPoint);
protected:
private:
};
#endif // _DsgPrs_ConcentricPresentation_HeaderFile

View File

@@ -1,69 +0,0 @@
-- Created on: 1996-08-21
-- Created by: Jacques MINOT
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
-- modified 12-january-98 by Sergey ZARITCHNY
class DiameterPresentation from DsgPrs
---Purpose: A framework for displaying diameters in shapes.
uses
Presentation from Prs3d,
Pnt from gp,
Circ from gp,
Drawer from Prs3d,
ArrowSide from DsgPrs,
ExtendedString from TCollection
is
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aText : ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
aCircle : Circ from gp;
ArrowSide: ArrowSide from DsgPrs;
IsDiamSymbol : Boolean from Standard );
---Purpose: Draws the diameter of the circle aCircle displayed in
-- the presentation aPresentation and with attributes
-- defined by the attribute manager aDrawer. The point
-- AttachmentPoint defines the point of contact
-- between the circle and the diameter presentation.
-- The value of the enumeration ArrowSide controls
-- whether arrows will be displayed at either or both
-- ends of the length. The text aText labels the diameter.
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aText : ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
aCircle : Circ from gp;
uFirst : Real from Standard;
uLast : Real from Standard;
ArrowSide : ArrowSide from DsgPrs;
IsDiamSymbol : Boolean from Standard);
---Purpose: Draws the diameter of the arc anArc displayed in the
-- presentation aPresentation and with attributes
-- defined by the attribute manager aDrawer. The point
-- AttachmentPoint defines the point of contact
-- between the arc and the diameter presentation. The
-- value of the enumeration ArrowSide controls whether
-- arrows will be displayed at either or both ends of the
-- length. The parameters uFirst and uLast define the
-- first and last points of the arc. The text aText labels the diameter.
end DiameterPresentation;

View File

@@ -17,32 +17,31 @@
// modified 12-january-98
// Sergey ZARITCHNY
// szy
#include <DsgPrs_DiameterPresentation.ixx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_TextAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_Text.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <DsgPrs.hxx>
#include <DsgPrs_DiameterPresentation.hxx>
#include <ElCLib.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Prs3d_TextAspect.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <TCollection_ExtendedString.hxx>
//==========================================================================
// function : DsgPrs_DiameterPresentation::Add

View File

@@ -0,0 +1,86 @@
// Created on: 1996-08-21
// Created by: Jacques MINOT
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_DiameterPresentation_HeaderFile
#define _DsgPrs_DiameterPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <DsgPrs_ArrowSide.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Real.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Circ;
//! A framework for displaying diameters in shapes.
class DsgPrs_DiameterPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Draws the diameter of the circle aCircle displayed in
//! the presentation aPresentation and with attributes
//! defined by the attribute manager aDrawer. The point
//! AttachmentPoint defines the point of contact
//! between the circle and the diameter presentation.
//! The value of the enumeration ArrowSide controls
//! whether arrows will be displayed at either or both
//! ends of the length. The text aText labels the diameter.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Circ& aCircle, const DsgPrs_ArrowSide ArrowSide, const Standard_Boolean IsDiamSymbol);
//! Draws the diameter of the arc anArc displayed in the
//! presentation aPresentation and with attributes
//! defined by the attribute manager aDrawer. The point
//! AttachmentPoint defines the point of contact
//! between the arc and the diameter presentation. The
//! value of the enumeration ArrowSide controls whether
//! arrows will be displayed at either or both ends of the
//! length. The parameters uFirst and uLast define the
//! first and last points of the arc. The text aText labels the diameter.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Circ& aCircle, const Standard_Real uFirst, const Standard_Real uLast, const DsgPrs_ArrowSide ArrowSide, const Standard_Boolean IsDiamSymbol);
protected:
private:
};
#endif // _DsgPrs_DiameterPresentation_HeaderFile

View File

@@ -1,74 +0,0 @@
-- Created on: 1998-01-26
-- Created by: Sergey ZARITCHNY
-- Copyright (c) 1998-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class EllipseRadiusPresentation from DsgPrs
---Purpose:
uses
Presentation from Prs3d,
Pnt from gp,
Elips from gp,
OffsetCurve from Geom,
Drawer from Prs3d,
ArrowSide from DsgPrs,
ExtendedString from TCollection
is
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theval : Real from Standard;
aText : ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
anEndOfArrow : Pnt from gp;
aCenter : Pnt from gp;
IsMaxRadius : Boolean from Standard;
ArrowSide: ArrowSide from DsgPrs);
---Purpose: draws a Radius (Major or Minor)
-- representation for whole ellipse case
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theval : Real from Standard;
aText : ExtendedString from TCollection;
anEllipse : Elips from gp;
AttachmentPoint : Pnt from gp;
anEndOfArrow : Pnt from gp;
aCenter : Pnt from gp;
uFirst : Real from Standard;
IsInDomain : Boolean from Standard;
IsMaxRadius : Boolean from Standard;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: draws a Radius (Major or Minor) representation
-- for arc of an ellipse case
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theval : Real from Standard;
aText : ExtendedString from TCollection;
aCurve : OffsetCurve from Geom;
AttachmentPoint : Pnt from gp;
anEndOfArrow : Pnt from gp;
aCenter : Pnt from gp;
uFirst : Real from Standard;
IsInDomain : Boolean from Standard;
IsMaxRadius : Boolean from Standard;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: draws a Radius (Major or Minor) representation
-- for arc of an offset curve from ellipse
end EllipseRadiusPresentation;

View File

@@ -14,44 +14,43 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_EllipseRadiusPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <Precision.hxx>
#include <DsgPrs_EllipseRadiusPresentation.hxx>
#include <ElCLib.hxx>
#include <Geom_Ellipse.hxx>
#include <Geom_Line.hxx>
#include <Geom_OffsetCurve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <Geom_OffsetCurve.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_EllipseRadiusPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,
const Standard_Real theval,

View File

@@ -0,0 +1,78 @@
// Created on: 1998-01-26
// Created by: Sergey ZARITCHNY
// Copyright (c) 1998-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_EllipseRadiusPresentation_HeaderFile
#define _DsgPrs_EllipseRadiusPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Elips;
class Geom_OffsetCurve;
class DsgPrs_EllipseRadiusPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! draws a Radius (Major or Minor)
//! representation for whole ellipse case
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Pnt& anEndOfArrow, const gp_Pnt& aCenter, const Standard_Boolean IsMaxRadius, const DsgPrs_ArrowSide ArrowSide);
//! draws a Radius (Major or Minor) representation
//! for arc of an ellipse case
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& aText, const gp_Elips& anEllipse, const gp_Pnt& AttachmentPoint, const gp_Pnt& anEndOfArrow, const gp_Pnt& aCenter, const Standard_Real uFirst, const Standard_Boolean IsInDomain, const Standard_Boolean IsMaxRadius, const DsgPrs_ArrowSide ArrowSide);
//! draws a Radius (Major or Minor) representation
//! for arc of an offset curve from ellipse
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real theval, const TCollection_ExtendedString& aText, const Handle(Geom_OffsetCurve)& aCurve, const gp_Pnt& AttachmentPoint, const gp_Pnt& anEndOfArrow, const gp_Pnt& aCenter, const Standard_Real uFirst, const Standard_Boolean IsInDomain, const Standard_Boolean IsMaxRadius, const DsgPrs_ArrowSide ArrowSide);
protected:
private:
};
#endif // _DsgPrs_EllipseRadiusPresentation_HeaderFile

View File

@@ -1,70 +0,0 @@
-- Created on: 1998-01-27
-- Created by: Julia GERASIMOVA
-- Copyright (c) 1998-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class EqualDistancePresentation from DsgPrs
---Purpose: A framework to display equal distances between shapes and a given plane.
-- The distance is the length of a projection from the shape to the plane.
-- These distances are used to compare two shapes by this vector alone.
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp,
Dir from gp,
Plane from Geom,
ArrowSide from DsgPrs,
Circ from gp
is
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
Point1 : Pnt from gp;
Point2 : Pnt from gp;
Point3 : Pnt from gp;
Point4 : Pnt from gp;
Plane : Plane from Geom );
---Purpose: Adds the points Point1, Point2, Point3 Point4, and the
-- plane Plane to the presentation object aPresentation.
-- The display attributes of these elements is defined by the attribute manager aDrawer.
-- The distance is the length of a projection from the shape to the plane.
-- These distances are used to compare two shapes by this vector alone.
AddInterval( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aPoint1 : Pnt from gp;
aPoint2 : Pnt from gp;
aDir : Dir from gp;
aPosition : Pnt from gp;
anArrowSide : ArrowSide from DsgPrs;
anExtremePnt1 : out Pnt from gp;
anExtremePnt2 : out Pnt from gp);
---Purpose: is used for presentation of interval between
-- two lines or two points or between a line and a point.
AddIntervalBetweenTwoArcs( myclass;aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aCircle1 : Circ from gp;
aCircle2 : Circ from gp;
aPoint1 : Pnt from gp;
aPoint2 : Pnt from gp;
aPoint3 : Pnt from gp;
aPoint4 : Pnt from gp;
anArrowSide : ArrowSide from DsgPrs);
---Purpose:is used for presentation of interval between two arcs.
-- One of arcs can have a zero radius.
end EqualDistancePresentation;

View File

@@ -14,24 +14,27 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_EqualDistancePresentation.ixx>
#include <DsgPrs.hxx>
#include <DsgPrs_EqualDistancePresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeDir.hxx>
#include <Geom_Plane.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_Group.hxx>
#include <Precision.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <gp_Dir.hxx>
#include <gce_MakeDir.hxx>
#include <gp_Vec.hxx>
#include <gp_Pln.hxx>
#include <Precision.hxx>
#include <ElCLib.hxx>
#include <gp_Circ.hxx>
#include <TCollection_ExtendedString.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_ExtendedString.hxx>
//=================================================================================
//function : Add

View File

@@ -0,0 +1,81 @@
// Created on: 1998-01-27
// Created by: Julia GERASIMOVA
// Copyright (c) 1998-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_EqualDistancePresentation_HeaderFile
#define _DsgPrs_EqualDistancePresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class Geom_Plane;
class gp_Dir;
class gp_Circ;
//! A framework to display equal distances between shapes and a given plane.
//! The distance is the length of a projection from the shape to the plane.
//! These distances are used to compare two shapes by this vector alone.
class DsgPrs_EqualDistancePresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the points Point1, Point2, Point3 Point4, and the
//! plane Plane to the presentation object aPresentation.
//! The display attributes of these elements is defined by the attribute manager aDrawer.
//! The distance is the length of a projection from the shape to the plane.
//! These distances are used to compare two shapes by this vector alone.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& Point1, const gp_Pnt& Point2, const gp_Pnt& Point3, const gp_Pnt& Point4, const Handle(Geom_Plane)& Plane);
//! is used for presentation of interval between
//! two lines or two points or between a line and a point.
Standard_EXPORT static void AddInterval (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPoint1, const gp_Pnt& aPoint2, const gp_Dir& aDir, const gp_Pnt& aPosition, const DsgPrs_ArrowSide anArrowSide, gp_Pnt& anExtremePnt1, gp_Pnt& anExtremePnt2);
//! is used for presentation of interval between two arcs.
//! One of arcs can have a zero radius.
Standard_EXPORT static void AddIntervalBetweenTwoArcs (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Circ& aCircle1, const gp_Circ& aCircle2, const gp_Pnt& aPoint1, const gp_Pnt& aPoint2, const gp_Pnt& aPoint3, const gp_Pnt& aPoint4, const DsgPrs_ArrowSide anArrowSide);
protected:
private:
};
#endif // _DsgPrs_EqualDistancePresentation_HeaderFile

View File

@@ -1,44 +0,0 @@
-- Created on: 1998-01-17
-- Created by: Julia GERASIMOVA
-- Copyright (c) 1998-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class EqualRadiusPresentation from DsgPrs
---Purpose: A framework to define display of equality in radii.
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp,
Plane from Geom
is
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
FirstCenter : Pnt from gp;
SecondCenter : Pnt from gp;
FirstPoint : Pnt from gp;
SecondPoint : Pnt from gp;
Plane : Plane from Geom );
---Purpose: Adds the points FirstCenter, SecondCenter,
-- FirstPoint, SecondPoint, and the plane Plane to the
-- presentation object aPresentation.
-- The display attributes of these elements is defined by
-- the attribute manager aDrawer.
-- FirstCenter and SecondCenter are the centers of the
-- first and second shapes respectively, and FirstPoint
-- and SecondPoint are the attachment points of the radii to arcs.
end EqualRadiusPresentation;

View File

@@ -14,21 +14,24 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_EqualRadiusPresentation.ixx>
#include <DsgPrs.hxx>
#include <DsgPrs_EqualRadiusPresentation.hxx>
#include <gce_MakeDir.hxx>
#include <Geom_Plane.hxx>
#include <gp_Dir.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_Group.hxx>
#include <Precision.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <gp_Dir.hxx>
#include <gce_MakeDir.hxx>
#include <gp_Vec.hxx>
#include <gp_Pln.hxx>
#include <Precision.hxx>
#include <TCollection_ExtendedString.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_EqualRadiusPresentation::Add( const Handle( Prs3d_Presentation )& aPresentation,
const Handle( Prs3d_Drawer )& aDrawer,

View File

@@ -0,0 +1,71 @@
// Created on: 1998-01-17
// Created by: Julia GERASIMOVA
// Copyright (c) 1998-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_EqualRadiusPresentation_HeaderFile
#define _DsgPrs_EqualRadiusPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class Geom_Plane;
//! A framework to define display of equality in radii.
class DsgPrs_EqualRadiusPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the points FirstCenter, SecondCenter,
//! FirstPoint, SecondPoint, and the plane Plane to the
//! presentation object aPresentation.
//! The display attributes of these elements is defined by
//! the attribute manager aDrawer.
//! FirstCenter and SecondCenter are the centers of the
//! first and second shapes respectively, and FirstPoint
//! and SecondPoint are the attachment points of the radii to arcs.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& FirstCenter, const gp_Pnt& SecondCenter, const gp_Pnt& FirstPoint, const gp_Pnt& SecondPoint, const Handle(Geom_Plane)& Plane);
protected:
private:
};
#endif // _DsgPrs_EqualRadiusPresentation_HeaderFile

View File

@@ -1,52 +0,0 @@
-- Created on: 1997-12-08
-- Created by: Serguei ZARITCHNY
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class FilletRadiusPresentation from DsgPrs
---Purpose: A framework for displaying radii of fillets.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d,
ExtendedString from TCollection,
ArrowSide from DsgPrs,
TrimmedCurve from Geom,
Circle from Geom,
Ax1 from gp
is
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
thevalue : Real from Standard;
aText : ExtendedString from TCollection;
aPosition : Pnt from gp;
aNormalDir : Dir from gp;
aBasePnt : Pnt from gp;
aFirstPoint : Pnt from gp;
aSecondPoint : Pnt from gp;
aCenter : Pnt from gp;
ArrowPrs : ArrowSide from DsgPrs;
drawRevers : Boolean from Standard;
DrawPosition : out Pnt from gp;
EndOfArrow : out Pnt from gp;
TrimCurve : out TrimmedCurve from Geom;
HasCircle : out Boolean from Standard);
---Purpose: Adds a display of the radius of a fillet to the
-- presentation aPresentation. The display ttributes
-- defined by the attribute manager aDrawer. the value
-- specifies the length of the radius.
end FilletRadiusPresentation;

View File

@@ -14,47 +14,45 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_FilletRadiusPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <DsgPrs.hxx>
#include <DsgPrs_FilletRadiusPresentation.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Line.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <Precision.hxx>
#include <Geom_Circle.hxx>
#include <Geom_Line.hxx>
#include <GeomAPI_ExtremaCurveCurve.hxx>
#include <stdio.h>
//pop pour NT
//#if WNT
#include <stdio.h>
//#endif
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_FilletRadiusPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,
const Standard_Real theval,

View File

@@ -0,0 +1,72 @@
// Created on: 1997-12-08
// Created by: Serguei ZARITCHNY
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_FilletRadiusPresentation_HeaderFile
#define _DsgPrs_FilletRadiusPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
#include <DsgPrs_ArrowSide.hxx>
#include <Standard_Boolean.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Dir;
class Geom_TrimmedCurve;
//! A framework for displaying radii of fillets.
class DsgPrs_FilletRadiusPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds a display of the radius of a fillet to the
//! presentation aPresentation. The display ttributes
//! defined by the attribute manager aDrawer. the value
//! specifies the length of the radius.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real thevalue, const TCollection_ExtendedString& aText, const gp_Pnt& aPosition, const gp_Dir& aNormalDir, const gp_Pnt& aBasePnt, const gp_Pnt& aFirstPoint, const gp_Pnt& aSecondPoint, const gp_Pnt& aCenter, const DsgPrs_ArrowSide ArrowPrs, const Standard_Boolean drawRevers, gp_Pnt& DrawPosition, gp_Pnt& EndOfArrow, Handle(Geom_TrimmedCurve)& TrimCurve, Standard_Boolean& HasCircle);
protected:
private:
};
#endif // _DsgPrs_FilletRadiusPresentation_HeaderFile

View File

@@ -1,45 +0,0 @@
-- Created on: 1996-04-01
-- Created by: Flore Lantheaume
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class FixPresentation from DsgPrs
---Purpose: class which draws the presentation of Fixed objects
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp,
Dir from gp
is
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aPntAttach : Pnt from gp;
aPntEnd : Pnt from gp;
aNormPln : Dir from gp;
aSymbSize : Real from Standard);
---Purpose: draws the presentation of fixed objects by
-- drawing the 'fix' symbol at position <aPntEnd>.
-- A binding segment is drawn between <aPntAttach>
-- ( which belongs the the fix object) and <aPntEnd>.
-- aSymbSize is the size of the 'fix'symbol
end FixPresentation;

View File

@@ -14,36 +14,31 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_FixPresentation.ixx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Root.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <gp_Vec.hxx>
#include <DsgPrs_FixPresentation.hxx>
#include <gp_Ax1.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <gp_Ax1.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Quantity_Color.hxx>
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_FixPresentation::Add(
const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,69 @@
// Created on: 1996-04-01
// Created by: Flore Lantheaume
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_FixPresentation_HeaderFile
#define _DsgPrs_FixPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class gp_Dir;
//! class which draws the presentation of Fixed objects
class DsgPrs_FixPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! draws the presentation of fixed objects by
//! drawing the 'fix' symbol at position <aPntEnd>.
//! A binding segment is drawn between <aPntAttach>
//! ( which belongs the the fix object) and <aPntEnd>.
//! aSymbSize is the size of the 'fix'symbol
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPntAttach, const gp_Pnt& aPntEnd, const gp_Dir& aNormPln, const Standard_Real aSymbSize);
protected:
private:
};
#endif // _DsgPrs_FixPresentation_HeaderFile

View File

@@ -1,104 +0,0 @@
-- Created on: 1997-01-03
-- Created by: Stagiaire Flore Lautheanne
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class IdenticPresentation from DsgPrs
---Purpose:
uses
Presentation from Prs3d,
Drawer from Prs3d,
ExtendedString from TCollection,
Pnt from gp,
Dir from gp,
Ax2 from gp,
Elips from gp -- jfa 10/10/2000
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
aPntAttach : Pnt from gp;
aPntOffset : Pnt from gp);
---Purpose: draws a line between <aPntAttach> and
-- <aPntOffset>.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
aFAttach : Pnt from gp;
aSAttach : Pnt from gp;
aPntOffset : Pnt from gp);
---Purpose: draws the 'identic' presentation by
-- drawing a line between <aFAttach> and
-- <aSAttach> , and a linkimg segment
-- between <aPntOffset> and its projection
-- on the precedent line.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
aAx2 : Ax2 from gp;
aCenter : Pnt from gp;
aFAttach : Pnt from gp;
aSAttach : Pnt from gp;
aPntOffset : Pnt from gp);
---Purpose: draws the 'identic' presentation in the case of
-- circles : draws an arc of circle between
-- <aFAttach> and <aSAttach> of center <aCenter>
-- and of radius dist(aCenter, aFAttach), and
-- draws a segment between <aPntOffset> and
-- its projection on the arc.
-- jfa 16/10/2000
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
aAx2 : Ax2 from gp;
aCenter : Pnt from gp;
aFAttach : Pnt from gp;
aSAttach : Pnt from gp;
aPntOffset : Pnt from gp;
aPntOnCirc : Pnt from gp);
---Purpose: draws the 'identic' presentation in the case of
-- circles : draws an arc of circle between
-- <aFAttach> and <aSAttach> of center <aCenter>
-- and of radius dist(aCenter, aFAttach), and
-- draws a segment between <aPntOffset> and <aPntOnCirc>
-- jfa 16/10/2000
-- jfa 10/10/2000 for ellipses identity presentation
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
anEllipse: Elips from gp;
aFAttach : Pnt from gp;
aSAttach : Pnt from gp;
aPntOffset : Pnt from gp;
aPntOnElli : Pnt from gp);
---Purpose: draws the 'identic' presentation in the case of
-- ellipses: draws an arc of the anEllipse
-- between <aFAttach> and <aSAttach> and
-- draws a segment between <aPntOffset> and <aPntOnElli>
-- jfa 10/10/2000 end
end IdenticPresentation;

View File

@@ -14,28 +14,27 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_IdenticPresentation.ixx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_AsciiString.hxx>
#include <gp_Vec.hxx>
#include <gp_Dir.hxx>
#include <DsgPrs_IdenticPresentation.hxx>
#include <ElCLib.hxx>
#include <Precision.hxx>
#include <gp_Ax2.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Precision.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_IdenticPresentation::Add( const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,95 @@
// Created on: 1997-01-03
// Created by: Stagiaire Flore Lautheanne
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_IdenticPresentation_HeaderFile
#define _DsgPrs_IdenticPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Ax2;
class gp_Elips;
class DsgPrs_IdenticPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! draws a line between <aPntAttach> and
//! <aPntOffset>.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& aPntAttach, const gp_Pnt& aPntOffset);
//! draws the 'identic' presentation by
//! drawing a line between <aFAttach> and
//! <aSAttach> , and a linkimg segment
//! between <aPntOffset> and its projection
//! on the precedent line.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& aFAttach, const gp_Pnt& aSAttach, const gp_Pnt& aPntOffset);
//! draws the 'identic' presentation in the case of
//! circles : draws an arc of circle between
//! <aFAttach> and <aSAttach> of center <aCenter>
//! and of radius dist(aCenter, aFAttach), and
//! draws a segment between <aPntOffset> and
//! its projection on the arc.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Ax2& aAx2, const gp_Pnt& aCenter, const gp_Pnt& aFAttach, const gp_Pnt& aSAttach, const gp_Pnt& aPntOffset);
//! draws the 'identic' presentation in the case of
//! circles : draws an arc of circle between
//! <aFAttach> and <aSAttach> of center <aCenter>
//! and of radius dist(aCenter, aFAttach), and
//! draws a segment between <aPntOffset> and <aPntOnCirc>
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Ax2& aAx2, const gp_Pnt& aCenter, const gp_Pnt& aFAttach, const gp_Pnt& aSAttach, const gp_Pnt& aPntOffset, const gp_Pnt& aPntOnCirc);
//! draws the 'identic' presentation in the case of
//! ellipses: draws an arc of the anEllipse
//! between <aFAttach> and <aSAttach> and
//! draws a segment between <aPntOffset> and <aPntOnElli>
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Elips& anEllipse, const gp_Pnt& aFAttach, const gp_Pnt& aSAttach, const gp_Pnt& aPntOffset, const gp_Pnt& aPntOnElli);
protected:
private:
};
#endif // _DsgPrs_IdenticPresentation_HeaderFile

View File

@@ -1,124 +0,0 @@
-- Created on: 1993-06-03
-- Created by: Jean-Louis FRENKEL
-- Copyright (c) 1993-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class LengthPresentation from DsgPrs
---Purpose: Framework for displaying lengths.
-- The length displayed is indicated by line segments
-- and text alone or by a combination of line segment,
-- text and arrows at either or both of its ends.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d,
ExtendedString from TCollection,
ArrowSide from DsgPrs,
Pln from gp,
Surface from Geom
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Draws a line segment representing a length in the
-- display aPresentation.
-- This segment joins the points AttachmentPoint1 and
-- AttachmentPoint2, along the direction aDirection.
-- The text aText will be displayed at the offset point OffsetPoint.
-- The line and text attributes are specified by the
-- attribute manager aDrawer.
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aText : ExtendedString from TCollection;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
aDirection : Dir from gp;
OffsetPoint : Pnt from gp;
ArrowSide : ArrowSide from DsgPrs );
---Purpose: Draws a line segment representing a length in the
-- display aPresentation.
-- This segment joins the points AttachmentPoint1 and
-- AttachmentPoint2, along the direction aDirection.
-- The text aText will be displayed at the offset point
-- OffsetPoint. The value of the enumeration ArrowSide
-- controls whether arrows will be displayed at either or
-- both ends of the length.
-- The line, text and arrow attributes are specified by the
-- attribute manager aDrawer.
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aText : ExtendedString from TCollection;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
PlaneOfFaces : Pln from gp;
aDirection : Dir from gp;
OffsetPoint : Pnt from gp;
ArrowSide : ArrowSide from DsgPrs );
---Purpose: Draws a line segment representing a length in the
-- display aPresentation.
-- This segment joins the points AttachmentPoint1 and
-- AttachmentPoint2, along the direction aDirection.
-- The text aText will be displayed at the offset point
-- OffsetPoint. The value of the enumeration ArrowSide
-- controls whether arrows will be displayed at either or
-- both ends of the length.
-- The plane PlaneOfFaces is used if length is null.
-- The line, text and arrow attributes are specified by the
-- attribute manager aDrawer.
Add( myclass; aPresentation : Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aText : ExtendedString from TCollection;
SecondSurf : Surface from Geom;
AttachmentPoint1 : Pnt from gp;
AttachmentPoint2 : Pnt from gp;
aDirection : Dir from gp;
OffsetPoint : Pnt from gp;
ArrowSide : ArrowSide from DsgPrs );
---Purpose: Draws a line segment representing a length in the
-- display aPresentation.
-- This segment joins the points AttachmentPoint1 and
-- AttachmentPoint2, along the direction
-- aDirection. AttachmentPoint2 lies on the curvilinear
-- faces SecondSurf. The text aText will be displayed at
-- the offset point OffsetPoint. The value of the
-- enumeration ArrowSide controls whether arrows will
-- be displayed at either or both ends of the length.
-- The line, text and arrow attributes are specified by the
-- attribute manager aDrawer.
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
Pt1 : Pnt from gp;
Pt2 : Pnt from gp;
ArrowSide : ArrowSide from DsgPrs);
---Purpose: Draws a line segment representing a length in the
-- display aPresentation.
-- This segment joins the points AttachmentPoint1 and
-- AttachmentPoint2, along the direction aDirection.
-- The value of the enumeration ArrowSide controls
-- whether arrows will be displayed at either or both ends of the length.
-- The line and arrow attributes are specified by the attribute manager aDrawer.
end LengthPresentation;

View File

@@ -12,33 +12,37 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_LengthPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <TCollection_AsciiString.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Prs3d_Text.hxx>
#include <Precision.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <DsgPrs_LengthPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pln.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_LengthPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,124 @@
// Created on: 1993-06-03
// Created by: Jean-Louis FRENKEL
// Copyright (c) 1993-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_LengthPresentation_HeaderFile
#define _DsgPrs_LengthPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Dir;
class gp_Pln;
class Geom_Surface;
//! Framework for displaying lengths.
//! The length displayed is indicated by line segments
//! and text alone or by a combination of line segment,
//! text and arrows at either or both of its ends.
class DsgPrs_LengthPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Draws a line segment representing a length in the
//! display aPresentation.
//! This segment joins the points AttachmentPoint1 and
//! AttachmentPoint2, along the direction aDirection.
//! The text aText will be displayed at the offset point OffsetPoint.
//! The line and text attributes are specified by the
//! attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint);
//! Draws a line segment representing a length in the
//! display aPresentation.
//! This segment joins the points AttachmentPoint1 and
//! AttachmentPoint2, along the direction aDirection.
//! The text aText will be displayed at the offset point
//! OffsetPoint. The value of the enumeration ArrowSide
//! controls whether arrows will be displayed at either or
//! both ends of the length.
//! The line, text and arrow attributes are specified by the
//! attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
//! Draws a line segment representing a length in the
//! display aPresentation.
//! This segment joins the points AttachmentPoint1 and
//! AttachmentPoint2, along the direction aDirection.
//! The text aText will be displayed at the offset point
//! OffsetPoint. The value of the enumeration ArrowSide
//! controls whether arrows will be displayed at either or
//! both ends of the length.
//! The plane PlaneOfFaces is used if length is null.
//! The line, text and arrow attributes are specified by the
//! attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Pln& PlaneOfFaces, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
//! Draws a line segment representing a length in the
//! display aPresentation.
//! This segment joins the points AttachmentPoint1 and
//! AttachmentPoint2, along the direction
//! aDirection. AttachmentPoint2 lies on the curvilinear
//! faces SecondSurf. The text aText will be displayed at
//! the offset point OffsetPoint. The value of the
//! enumeration ArrowSide controls whether arrows will
//! be displayed at either or both ends of the length.
//! The line, text and arrow attributes are specified by the
//! attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const Handle(Geom_Surface)& SecondSurf, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
//! Draws a line segment representing a length in the
//! display aPresentation.
//! This segment joins the points AttachmentPoint1 and
//! AttachmentPoint2, along the direction aDirection.
//! The value of the enumeration ArrowSide controls
//! whether arrows will be displayed at either or both ends of the length.
//! The line and arrow attributes are specified by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& Pt1, const gp_Pnt& Pt2, const DsgPrs_ArrowSide ArrowSide);
protected:
private:
};
#endif // _DsgPrs_LengthPresentation_HeaderFile

View File

@@ -1,74 +0,0 @@
-- Created on: 2000-10-20
-- Created by: Julia DOROVSKIKH
-- Copyright (c) 2000-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class MidPointPresentation from DsgPrs
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp,
Lin from gp,
Circ from gp,
Elips from gp,
Ax2 from gp
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theAxe : Ax2 from gp;
MidPoint : Pnt from gp;
Position : Pnt from gp;
AttachPoint : Pnt from gp;
first : Boolean from Standard);
---Purpose: draws the representation of a MidPoint between
-- two vertices.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
theAxe : Ax2 from gp;
MidPoint : Pnt from gp;
Position : Pnt from gp;
AttachPoint : Pnt from gp;
Point1 : Pnt from gp;
Point2 : Pnt from gp;
first : Boolean from Standard);
---Purpose: draws the representation of a MidPoint between
-- two lines or linear segments.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aCircle : Circ from gp;
MidPoint : Pnt from gp;
Position : Pnt from gp;
AttachPoint : Pnt from gp;
Point1 : Pnt from gp;
Point2 : Pnt from gp;
first : Boolean from Standard);
---Purpose: draws the representation of a MidPoint between
-- two entire circles or two circular arcs.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
anElips : Elips from gp;
MidPoint : Pnt from gp;
Position : Pnt from gp;
AttachPoint : Pnt from gp;
Point1 : Pnt from gp;
Point2 : Pnt from gp;
first : Boolean from Standard);
---Purpose: draws the representation of a MidPoint between
-- two entire ellipses or two elliptic arcs.
end MidPointPresentation;

View File

@@ -13,31 +13,28 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_MidPointPresentation.ixx>
#include <Precision.hxx>
#include <TCollection_ExtendedString.hxx>
#include <gp_Lin.hxx>
#include <gp_Circ.hxx>
#include <gp_Vec.hxx>
#include <gp_Dir.hxx>
#include <DsgPrs_MidPointPresentation.hxx>
#include <ElCLib.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Elips.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Graphic3d_Group.hxx>
#include <Precision.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_Text.hxx>
#include <TCollection_ExtendedString.hxx>
//===================================================================
//Function:Add

View File

@@ -0,0 +1,79 @@
// Created on: 2000-10-20
// Created by: Julia DOROVSKIKH
// Copyright (c) 2000-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_MidPointPresentation_HeaderFile
#define _DsgPrs_MidPointPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Boolean.hxx>
class Prs3d_Presentation;
class gp_Ax2;
class gp_Pnt;
class gp_Circ;
class gp_Elips;
class DsgPrs_MidPointPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! draws the representation of a MidPoint between
//! two vertices.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Ax2& theAxe, const gp_Pnt& MidPoint, const gp_Pnt& Position, const gp_Pnt& AttachPoint, const Standard_Boolean first);
//! draws the representation of a MidPoint between
//! two lines or linear segments.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Ax2& theAxe, const gp_Pnt& MidPoint, const gp_Pnt& Position, const gp_Pnt& AttachPoint, const gp_Pnt& Point1, const gp_Pnt& Point2, const Standard_Boolean first);
//! draws the representation of a MidPoint between
//! two entire circles or two circular arcs.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Circ& aCircle, const gp_Pnt& MidPoint, const gp_Pnt& Position, const gp_Pnt& AttachPoint, const gp_Pnt& Point1, const gp_Pnt& Point2, const Standard_Boolean first);
//! draws the representation of a MidPoint between
//! two entire ellipses or two elliptic arcs.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Elips& anElips, const gp_Pnt& MidPoint, const gp_Pnt& Position, const gp_Pnt& AttachPoint, const gp_Pnt& Point1, const gp_Pnt& Point2, const Standard_Boolean first);
protected:
private:
};
#endif // _DsgPrs_MidPointPresentation_HeaderFile

View File

@@ -1,57 +0,0 @@
-- Created on: 1996-09-18
-- Created by: Jacques MINOT
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class OffsetPresentation from DsgPrs
---Purpose: A framework to define display of offsets.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d,
ExtendedString from TCollection,
ArrowSide from DsgPrs
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection: Dir from gp;
aDirection2: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Defines the display of elements showing offset shapes.
-- These include the two points of attachment
-- AttachmentPoint1 and AttachmentPoint1, the two
-- directions aDirection and aDirection2, and the offset point OffsetPoint.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
AddAxes( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection: Dir from gp;
aDirection2: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: draws the representation of axes alignement Constraint
-- between the point AttachmentPoint1 and the
-- point AttachmentPoint2, along direction
-- aDirection, using the offset point OffsetPoint.
end OffsetPresentation;

View File

@@ -14,39 +14,32 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_OffsetPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <TCollection_AsciiString.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <Prs3d_Text.hxx>
#include <DsgPrs_OffsetPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_OffsetPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,77 @@
// Created on: 1996-09-18
// Created by: Jacques MINOT
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_OffsetPresentation_HeaderFile
#define _DsgPrs_OffsetPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Dir;
//! A framework to define display of offsets.
class DsgPrs_OffsetPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines the display of elements showing offset shapes.
//! These include the two points of attachment
//! AttachmentPoint1 and AttachmentPoint1, the two
//! directions aDirection and aDirection2, and the offset point OffsetPoint.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Dir& aDirection2, const gp_Pnt& OffsetPoint);
//! draws the representation of axes alignement Constraint
//! between the point AttachmentPoint1 and the
//! point AttachmentPoint2, along direction
//! aDirection, using the offset point OffsetPoint.
Standard_EXPORT static void AddAxes (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Dir& aDirection2, const gp_Pnt& OffsetPoint);
protected:
private:
};
#endif // _DsgPrs_OffsetPresentation_HeaderFile

View File

@@ -1,62 +0,0 @@
-- Created on: 1995-11-28
-- Created by: Jean-Pierre COMBE
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ParalPresentation from DsgPrs
---Purpose: A framework to define display of relations of parallelism between shapes.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d,
ArrowSide from DsgPrs,
ExtendedString from TCollection
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection: Dir from gp;
OffsetPoint: Pnt from gp);
---Purpose: Defines the display of elements showing relations of
-- parallelism between shapes.
-- These include the two points of attachment
-- AttachmentPoint1 and AttachmentPoint1, the
-- direction aDirection, and the offset point OffsetPoint.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection: Dir from gp;
OffsetPoint: Pnt from gp;
ArrowSide: ArrowSide from DsgPrs);
---Purpose: Defines the display of elements showing relations of
-- parallelism between shapes.
-- These include the two points of attachment
-- AttachmentPoint1 and AttachmentPoint1, the
-- direction aDirection, the offset point OffsetPoint and
-- the text aText.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
end ParalPresentation;

View File

@@ -14,21 +14,25 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_ParalPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <DsgPrs.hxx>
#include <DsgPrs_ParalPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <Graphic3d_Group.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <TCollection_AsciiString.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <DsgPrs.hxx>
#include <TCollection_AsciiString.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_ParalPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,84 @@
// Created on: 1995-11-28
// Created by: Jean-Pierre COMBE
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_ParalPresentation_HeaderFile
#define _DsgPrs_ParalPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Dir;
//! A framework to define display of relations of parallelism between shapes.
class DsgPrs_ParalPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines the display of elements showing relations of
//! parallelism between shapes.
//! These include the two points of attachment
//! AttachmentPoint1 and AttachmentPoint1, the
//! direction aDirection, and the offset point OffsetPoint.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint);
//! Defines the display of elements showing relations of
//! parallelism between shapes.
//! These include the two points of attachment
//! AttachmentPoint1 and AttachmentPoint1, the
//! direction aDirection, the offset point OffsetPoint and
//! the text aText.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection, const gp_Pnt& OffsetPoint, const DsgPrs_ArrowSide ArrowSide);
protected:
private:
};
#endif // _DsgPrs_ParalPresentation_HeaderFile

View File

@@ -1,48 +0,0 @@
-- Created on: 1995-11-28
-- Created by: Jean-Pierre COMBE
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class PerpenPresentation from DsgPrs
---Purpose: A framework to define display of perpendicular
-- constraints between shapes.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d,
ExtendedString from TCollection
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
pAx1: Pnt from gp;
pAx2: Pnt from gp;
pnt1: Pnt from gp;
pnt2: Pnt from gp;
OffsetPoint: Pnt from gp;
intOut1: Boolean from Standard;
intOut2: Boolean from Standard);
---Purpose: Defines the display of elements showing
-- perpendicular constraints between shapes.
-- These include the two axis points pAx1 and pAx2,
-- the two points pnt1 and pnt2, the offset point
-- OffsetPoint and the two Booleans intOut1} and intOut2{.
-- These arguments are added to the presentation
-- object aPresentation. Their display attributes are
-- defined by the attribute manager aDrawer.
end PerpenPresentation;

View File

@@ -14,28 +14,29 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_PerpenPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <DsgPrs_PerpenPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <gce_MakeDir.hxx>
#include <gce_MakeLin.hxx>
#include <Geom_CartesianPoint.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_Text.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_TextAspect.hxx>
#include <Prs3d_PointAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <TCollection_AsciiString.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_PointAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Prs3d_TextAspect.hxx>
#include <StdPrs_Point.hxx>
#include <TCollection_AsciiString.hxx>
void DsgPrs_PerpenPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,72 @@
// Created on: 1995-11-28
// Created by: Jean-Pierre COMBE
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_PerpenPresentation_HeaderFile
#define _DsgPrs_PerpenPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Boolean.hxx>
class Prs3d_Presentation;
class gp_Pnt;
//! A framework to define display of perpendicular
//! constraints between shapes.
class DsgPrs_PerpenPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines the display of elements showing
//! perpendicular constraints between shapes.
//! These include the two axis points pAx1 and pAx2,
//! the two points pnt1 and pnt2, the offset point
//! OffsetPoint and the two Booleans intOut1} and intOut2{.
//! These arguments are added to the presentation
//! object aPresentation. Their display attributes are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& pAx1, const gp_Pnt& pAx2, const gp_Pnt& pnt1, const gp_Pnt& pnt2, const gp_Pnt& OffsetPoint, const Standard_Boolean intOut1, const Standard_Boolean intOut2);
protected:
private:
};
#endif // _DsgPrs_PerpenPresentation_HeaderFile

View File

@@ -1,93 +0,0 @@
-- Created on: 1995-03-01
-- Created by: Arnaud BOUZY
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class RadiusPresentation from DsgPrs
---Purpose: A framework to define display of radii.
uses
Presentation from Prs3d,
Pnt from gp,
Circ from gp,
Drawer from Prs3d,
ArrowSide from DsgPrs,
ExtendedString from TCollection
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
aCircle : Circ from gp;
firstparam : Real;
lastparam : Real;
drawFromCenter : Boolean = Standard_True;
reverseArrow : Boolean = Standard_False);
---Purpose: Adds the point AttachmentPoint, the circle aCircle,
-- the text aText, and the parameters firstparam and
-- lastparam to the presentation object aPresentation.
-- The display attributes of these elements is defined by
-- the attribute manager aDrawer.
-- If the Boolean drawFromCenter is false, the
-- arrowhead will point towards the center of aCircle.
-- If the Boolean reverseArrow is true, the arrowhead
-- will point away from the attachment point.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
aCircle : Circ from gp;
firstparam : Real;
lastparam : Real;
ArrowSide: ArrowSide from DsgPrs;
drawFromCenter : Boolean = Standard_True;
reverseArrow : Boolean = Standard_False);
---Purpose: Adds the point AttachmentPoint, the circle aCircle,
-- the text aText, and the parameters firstparam and
-- lastparam to the presentation object aPresentation.
-- The display attributes of these elements is defined by
-- the attribute manager aDrawer.
-- The value of the enumeration Arrowside determines
-- the type of arrow displayed: whether there will be
-- arrowheads at both ends or only one, for example.
-- If the Boolean drawFromCenter is false, the
-- arrowhead will point towards the center of aCircle.
-- If the Boolean reverseArrow is true, the arrowhead
-- will point away from the attachment point.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
AttachmentPoint : Pnt from gp;
Center : Pnt from gp;
EndOfArrow : Pnt from gp;
ArrowSide: ArrowSide from DsgPrs;
drawFromCenter : Boolean = Standard_True;
reverseArrow : Boolean = Standard_False);
---Purpose: Adds the circle aCircle, the text aText, the points
-- AttachmentPoint, Center and EndOfArrow to the
-- presentation object aPresentation.
-- The display attributes of these elements is defined by
-- the attribute manager aDrawer.
-- The value of the enumeration Arrowside determines
-- the type of arrow displayed: whether there will be
-- arrowheads at both ends or only one, for example.
-- If the Boolean drawFromCenter is false, the
-- arrowhead will point towards the center of aCircle.
-- If the Boolean reverseArrow is true, the arrowhead
-- will point away from the attachment point.
end RadiusPresentation;

View File

@@ -17,31 +17,32 @@
//modified 20-feb-98 by <SZY>
// Sergei Zaritchny
#include <DsgPrs_RadiusPresentation.ixx>
#include <gp_Lin.hxx>
#include <gp_Dir.hxx>
#include <gp_Circ.hxx>
#include <ElCLib.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_Text.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Aspect_TypeOfLine.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <Aspect_AspectMarker.hxx>
#include <Quantity_Color.hxx>
#include <DsgPrs.hxx>
#include <Precision.hxx>
#include <gce_MakeLin.hxx>
#include <DsgPrs_RadiusPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeDir.hxx>
#include <gce_MakeLin.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Quantity_Color.hxx>
#include <TCollection_ExtendedString.hxx>
static Standard_Boolean DsgPrs_InDomain(const Standard_Real fpar,
const Standard_Real lpar,

View File

@@ -0,0 +1,104 @@
// Created on: 1995-03-01
// Created by: Arnaud BOUZY
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_RadiusPresentation_HeaderFile
#define _DsgPrs_RadiusPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <DsgPrs_ArrowSide.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
class gp_Circ;
//! A framework to define display of radii.
class DsgPrs_RadiusPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the point AttachmentPoint, the circle aCircle,
//! the text aText, and the parameters firstparam and
//! lastparam to the presentation object aPresentation.
//! The display attributes of these elements is defined by
//! the attribute manager aDrawer.
//! If the Boolean drawFromCenter is false, the
//! arrowhead will point towards the center of aCircle.
//! If the Boolean reverseArrow is true, the arrowhead
//! will point away from the attachment point.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Circ& aCircle, const Standard_Real firstparam, const Standard_Real lastparam, const Standard_Boolean drawFromCenter = Standard_True, const Standard_Boolean reverseArrow = Standard_False);
//! Adds the point AttachmentPoint, the circle aCircle,
//! the text aText, and the parameters firstparam and
//! lastparam to the presentation object aPresentation.
//! The display attributes of these elements is defined by
//! the attribute manager aDrawer.
//! The value of the enumeration Arrowside determines
//! the type of arrow displayed: whether there will be
//! arrowheads at both ends or only one, for example.
//! If the Boolean drawFromCenter is false, the
//! arrowhead will point towards the center of aCircle.
//! If the Boolean reverseArrow is true, the arrowhead
//! will point away from the attachment point.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Circ& aCircle, const Standard_Real firstparam, const Standard_Real lastparam, const DsgPrs_ArrowSide ArrowSide, const Standard_Boolean drawFromCenter = Standard_True, const Standard_Boolean reverseArrow = Standard_False);
//! Adds the circle aCircle, the text aText, the points
//! AttachmentPoint, Center and EndOfArrow to the
//! presentation object aPresentation.
//! The display attributes of these elements is defined by
//! the attribute manager aDrawer.
//! The value of the enumeration Arrowside determines
//! the type of arrow displayed: whether there will be
//! arrowheads at both ends or only one, for example.
//! If the Boolean drawFromCenter is false, the
//! arrowhead will point towards the center of aCircle.
//! If the Boolean reverseArrow is true, the arrowhead
//! will point away from the attachment point.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& AttachmentPoint, const gp_Pnt& Center, const gp_Pnt& EndOfArrow, const DsgPrs_ArrowSide ArrowSide, const Standard_Boolean drawFromCenter = Standard_True, const Standard_Boolean reverseArrow = Standard_False);
protected:
private:
};
#endif // _DsgPrs_RadiusPresentation_HeaderFile

View File

@@ -1,42 +0,0 @@
-- Created on: 1997-12-05
-- Created by: Robert COUBLANC
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ShadedPlanePresentation from DsgPrs
---Purpose: A framework to define display of shaded planes.
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp
is
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aPt1 : Pnt from gp;
aPt2 : Pnt from gp;
aPt3 : Pnt from gp);
---Purpose: Adds the points aPt1, aPt2 and aPt3 to the
-- presentation object, aPresentation.
-- The display attributes of the shaded plane are
-- defined by the attribute manager aDrawer.
end ShadedPlanePresentation;

View File

@@ -14,20 +14,21 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_ShadedPlanePresentation.ixx>
#include <Prs3d_Root.hxx>
#include <Prs3d_PlaneAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_ShadingAspect.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfPolygons.hxx>
#include <DsgPrs_ShadedPlanePresentation.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolygons.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_PlaneAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_ShadingAspect.hxx>
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_ShadedPlanePresentation::Add(const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,
const gp_Pnt& aPt1,

View File

@@ -0,0 +1,66 @@
// Created on: 1997-12-05
// Created by: Robert COUBLANC
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_ShadedPlanePresentation_HeaderFile
#define _DsgPrs_ShadedPlanePresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class gp_Pnt;
//! A framework to define display of shaded planes.
class DsgPrs_ShadedPlanePresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the points aPt1, aPt2 and aPt3 to the
//! presentation object, aPresentation.
//! The display attributes of the shaded plane are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPt1, const gp_Pnt& aPt2, const gp_Pnt& aPt3);
protected:
private:
};
#endif // _DsgPrs_ShadedPlanePresentation_HeaderFile

View File

@@ -1,41 +0,0 @@
-- Created on: 1995-10-06
-- Created by: Jing Cheng MEI
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class ShapeDirPresentation from DsgPrs
---Purpose: A framework to define display of the normal to the
-- surface of a shape.
uses
Shape from TopoDS,
Presentation from Prs3d,
Drawer from Prs3d
is
Add(myclass; prs: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
shape: Shape from TopoDS;
mode: Integer from Standard);
---Purpose: Adds the shape shape and the mode mode to the
-- presentation object prs.
-- The display attributes of the normal are defined by the
-- attribute manager aDrawer.
-- mode determines whether the first or the last point of
-- the normal is given to the presentation object. If the
-- first point: 0; if the last point, 1.
end ShapeDirPresentation;

View File

@@ -14,46 +14,41 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_ShapeDirPresentation.ixx>
#include <gp.hxx>
#include <gp_Dir.hxx>
#include <Bnd_Box.hxx>
#include <BRep_Tool.hxx>
#include <BRepBndLib.hxx>
#include <BRepClass_Edge.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <DsgPrs_ShapeDirPresentation.hxx>
#include <Geom2d_Line.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <GeomLProp_CLProps.hxx>
#include <GeomLProp_SLProps.hxx>
#include <TopoDS_Shape.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Face.hxx>
#include <TopLoc_Location.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopAbs_Orientation.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_ListOfShape.hxx>
#include <BRep_Tool.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <BRepClass_Edge.hxx>
#include <BRepBndLib.hxx>
#include <Graphic3d_Group.hxx>
#include <gp.hxx>
#include <gp_Dir.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Quantity_Length.hxx>
#include <TColgp_Array1OfPnt2d.hxx>
#include <TopAbs_Orientation.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopExp_Explorer.hxx>
#include <TopLoc_Location.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Shape.hxx>
#include <TopTools_ListOfShape.hxx>
//=======================================================================
//function : FindPointOnFace
//purpose : internal use
//=======================================================================
static Standard_Boolean FindPointOnFace(const TopoDS_Face& face, gp_Pnt2d& pt2d)
{
// discredisation of the external contour and computing the center of gravity

View File

@@ -0,0 +1,71 @@
// Created on: 1995-10-06
// Created by: Jing Cheng MEI
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_ShapeDirPresentation_HeaderFile
#define _DsgPrs_ShapeDirPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Integer.hxx>
class Prs3d_Presentation;
class TopoDS_Shape;
//! A framework to define display of the normal to the
//! surface of a shape.
class DsgPrs_ShapeDirPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the shape shape and the mode mode to the
//! presentation object prs.
//! The display attributes of the normal are defined by the
//! attribute manager aDrawer.
//! mode determines whether the first or the last point of
//! the normal is given to the presentation object. If the
//! first point: 0; if the last point, 1.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& prs, const Handle(Prs3d_Drawer)& aDrawer, const TopoDS_Shape& shape, const Standard_Integer mode);
protected:
private:
};
#endif // _DsgPrs_ShapeDirPresentation_HeaderFile

View File

@@ -1,35 +0,0 @@
-- Created on: 1995-12-08
-- Created by: Jean-Pierre COMBE
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class SymbPresentation from DsgPrs
---Purpose: A framework to define display of symbols.
uses
Presentation from Prs3d,
Pnt from gp,
Drawer from Prs3d,
ExtendedString from TCollection
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
aText: ExtendedString from TCollection;
OffsetPoint: Pnt from gp);
---Purpose: Adds the text aText and the point OffsetPoint to the
-- presentation object aPresentation.
-- The display attributes of the shaded plane are
-- defined by the attribute manager aDrawer.
end SymbPresentation;

View File

@@ -14,17 +14,20 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_SymbPresentation.ixx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_TextAspect.hxx>
#include <Prs3d_PointAspect.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <DsgPrs_SymbPresentation.hxx>
#include <Geom_CartesianPoint.hxx>
#include <gp_Pnt.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_PointAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Text.hxx>
#include <Prs3d_TextAspect.hxx>
#include <StdPrs_Point.hxx>
#include <TCollection_AsciiString.hxx>
#include <Prs3d_Text.hxx>
#include <Aspect_TypeOfMarker.hxx>
#include <TCollection_ExtendedString.hxx>
void DsgPrs_SymbPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,67 @@
// Created on: 1995-12-08
// Created by: Jean-Pierre COMBE
// Copyright (c) 1995-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_SymbPresentation_HeaderFile
#define _DsgPrs_SymbPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class TCollection_ExtendedString;
class gp_Pnt;
//! A framework to define display of symbols.
class DsgPrs_SymbPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the text aText and the point OffsetPoint to the
//! presentation object aPresentation.
//! The display attributes of the shaded plane are
//! defined by the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const TCollection_ExtendedString& aText, const gp_Pnt& OffsetPoint);
protected:
private:
};
#endif // _DsgPrs_SymbPresentation_HeaderFile

View File

@@ -1,81 +0,0 @@
-- Created on: 1997-01-22
-- Created by: Prestataire Michael ALEONARD
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class SymmetricPresentation from DsgPrs
---Purpose: A framework to define display of symmetry between shapes.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Lin from gp,
Circ from gp,
Drawer from Prs3d,
ExtendedString from TCollection
is
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aDirection1: Dir from gp;
aAxis: Lin from gp;
OffsetPoint: Pnt from gp);
---Purpose: Adds the points OffsetPoint, AttachmentPoint1,
-- AttachmentPoint2, the direction aDirection1 and the
-- axis anAxis to the presentation object aPresentation.
-- The display attributes of the symmetry are defined by
-- the attribute manager aDrawer.
-- This syntax is used for display of symmetries between two segments.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aCircle1: Circ from gp;
aAxis: Lin from gp;
OffsetPoint: Pnt from gp);
---Purpose: Adds the points OffsetPoint, AttachmentPoint1,
-- AttachmentPoint2, the direction aDirection1 the circle
-- aCircle1 and the axis anAxis to the presentation
-- object aPresentation.
-- The display attributes of the symmetry are defined by
-- the attribute manager aDrawer.
-- This syntax is used for display of symmetries between two arcs.
Add( myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
AttachmentPoint1: Pnt from gp;
AttachmentPoint2: Pnt from gp;
aAxis: Lin from gp;
OffsetPoint: Pnt from gp);
---Purpose: Adds the points OffsetPoint, AttachmentPoint1,
-- AttachmentPoint2 and the axis anAxis to the
-- presentation object aPresentation.
-- The display attributes of the symmetry are defined by
-- the attribute manager aDrawer.
-- This syntax is used for display of symmetries between two vertices.
end SymmetricPresentation;

View File

@@ -14,49 +14,39 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_SymmetricPresentation.ixx>
#include <Precision.hxx>
#include <gp_Lin.hxx>
#include <gp_Circ.hxx>
#include <gp_Vec.hxx>
#include <gp_Dir.hxx>
#include <DsgPrs_SymmetricPresentation.hxx>
#include <ElCLib.hxx>
#include <gce_MakeDir.hxx>
#include <gce_MakeLin.hxx>
#include <Geom2d_Line.hxx>
#include <Geom_Line.hxx>
#include <Geom_Plane.hxx>
#include <GeomAPI.hxx>
#include <gp_Ax1.hxx>
#include <gp_Ax2.hxx>
#include <gp_Circ.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <Geom_Plane.hxx>
#include <Geom_Line.hxx>
#include <ElCLib.hxx>
#include <gce_MakeLin.hxx>
#include <gce_MakeDir.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_Vertex.hxx>
#include <IntAna2d_AnaIntersection.hxx>
#include <Precision.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <TCollection_AsciiString.hxx>
#include <Geom2d_Line.hxx>
#include <GeomAPI.hxx>
#include <IntAna2d_AnaIntersection.hxx>
//===================================================================
//Function:Add
//Purpose: draws the representation of an axial symmetry between two segments.

View File

@@ -0,0 +1,88 @@
// Created on: 1997-01-22
// Created by: Prestataire Michael ALEONARD
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_SymmetricPresentation_HeaderFile
#define _DsgPrs_SymmetricPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class gp_Dir;
class gp_Lin;
class gp_Circ;
//! A framework to define display of symmetry between shapes.
class DsgPrs_SymmetricPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the points OffsetPoint, AttachmentPoint1,
//! AttachmentPoint2, the direction aDirection1 and the
//! axis anAxis to the presentation object aPresentation.
//! The display attributes of the symmetry are defined by
//! the attribute manager aDrawer.
//! This syntax is used for display of symmetries between two segments.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Dir& aDirection1, const gp_Lin& aAxis, const gp_Pnt& OffsetPoint);
//! Adds the points OffsetPoint, AttachmentPoint1,
//! AttachmentPoint2, the direction aDirection1 the circle
//! aCircle1 and the axis anAxis to the presentation
//! object aPresentation.
//! The display attributes of the symmetry are defined by
//! the attribute manager aDrawer.
//! This syntax is used for display of symmetries between two arcs.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Circ& aCircle1, const gp_Lin& aAxis, const gp_Pnt& OffsetPoint);
//! Adds the points OffsetPoint, AttachmentPoint1,
//! AttachmentPoint2 and the axis anAxis to the
//! presentation object aPresentation.
//! The display attributes of the symmetry are defined by
//! the attribute manager aDrawer.
//! This syntax is used for display of symmetries between two vertices.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& AttachmentPoint1, const gp_Pnt& AttachmentPoint2, const gp_Lin& aAxis, const gp_Pnt& OffsetPoint);
protected:
private:
};
#endif // _DsgPrs_SymmetricPresentation_HeaderFile

View File

@@ -1,37 +0,0 @@
-- Created on: 1996-01-16
-- Created by: Jean-Pierre COMBE
-- Copyright (c) 1996-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class TangentPresentation from DsgPrs
---Purpose: A framework to define display of tangents.
uses
Presentation from Prs3d,
Pnt from gp,
Dir from gp,
Drawer from Prs3d
is
Add (myclass; aPresentation: Presentation from Prs3d;
aDrawer: Drawer from Prs3d;
OffsetPoint: Pnt from gp;
aDirection: Dir from gp;
aLength : Real from Standard);
---Purpose: Adds the point OffsetPoint, the direction aDirection
-- and the length aLength to the presentation object aPresentation.
-- The display attributes of the tangent are defined by
-- the attribute manager aDrawer.
end TangentPresentation;

View File

@@ -14,20 +14,22 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_TangentPresentation.ixx>
#include <Graphic3d_Group.hxx>
#include <DsgPrs_TangentPresentation.hxx>
#include <Geom_CartesianPoint.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <Graphic3d_AspectLine3d.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_PointAspect.hxx>
#include <Geom_CartesianPoint.hxx>
#include <Prs3d_Presentation.hxx>
#include <StdPrs_Point.hxx>
#include <gp_Vec.hxx>
#include <Prs3d_Arrow.hxx>
void DsgPrs_TangentPresentation::Add (const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,68 @@
// Created on: 1996-01-16
// Created by: Jean-Pierre COMBE
// Copyright (c) 1996-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_TangentPresentation_HeaderFile
#define _DsgPrs_TangentPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
#include <Standard_Real.hxx>
class Prs3d_Presentation;
class gp_Pnt;
class gp_Dir;
//! A framework to define display of tangents.
class DsgPrs_TangentPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Adds the point OffsetPoint, the direction aDirection
//! and the length aLength to the presentation object aPresentation.
//! The display attributes of the tangent are defined by
//! the attribute manager aDrawer.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& OffsetPoint, const gp_Dir& aDirection, const Standard_Real aLength);
protected:
private:
};
#endif // _DsgPrs_TangentPresentation_HeaderFile

View File

@@ -1,66 +0,0 @@
-- Created on: 1997-02-10
-- Created by: Odile Olivier
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
-- SAV : OCC218 06/03/02 : Add(...) overloaded to take into account arrow & text
-- aspects.
class XYZAxisPresentation from DsgPrs
---Purpose: A framework for displaying the axes of an XYZ trihedron.
uses
Presentation from Prs3d,
LineAspect from Prs3d,
Pnt from gp,
Dir from gp,
ArrowAspect from Prs3d,
TextAspect from Prs3d
is
Add(myclass;
aPresentation: Presentation from Prs3d;
anLineAspect : LineAspect from Prs3d;
aDir : Dir from gp;
aVal : Real from Standard;
aText : CString from Standard;
aPfirst : Pnt from gp;
aPlast : Pnt from gp);
---Purpose: Draws each axis of a trihedron displayed in the
-- presentation aPresentation and with lines shown by
-- the values of aLineAspect. Each axis is defined by:
-- - the first and last points aPfirst and aPlast
-- - the direction aDir and
-- - the value aVal which provides a value for length.
-- The value for length is provided so that the trihedron
-- can vary in length relative to the scale of shape display.
-- Each axis will be identified as X, Y, or Z by the text aText.
Add(myclass;
aPresentation : Presentation from Prs3d;
aLineAspect : LineAspect from Prs3d;
anArrowAspect : ArrowAspect from Prs3d;
aTextAspect : TextAspect from Prs3d;
aDir : Dir from gp;
aVal : Real from Standard;
aText : CString from Standard;
aPfirst : Pnt from gp;
aPlast : Pnt from gp);
---Purpose: draws the presentation X ,Y ,Z axis
end XYZAxisPresentation;

View File

@@ -14,18 +14,23 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_XYZAxisPresentation.ixx>
#include <Prs3d_Root.hxx>
#include <Prs3d_Arrow.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <DsgPrs_XYZAxisPresentation.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfSegments.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_Arrow.hxx>
#include <Prs3d_ArrowAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
#include <Prs3d_TextAspect.hxx>
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_XYZAxisPresentation::Add(
const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_LineAspect)& aLineAspect,

View File

@@ -0,0 +1,79 @@
// Created on: 1997-02-10
// Created by: Odile Olivier
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_XYZAxisPresentation_HeaderFile
#define _DsgPrs_XYZAxisPresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <Standard_CString.hxx>
class Prs3d_Presentation;
class Prs3d_LineAspect;
class gp_Dir;
class gp_Pnt;
class Prs3d_ArrowAspect;
class Prs3d_TextAspect;
//! A framework for displaying the axes of an XYZ trihedron.
class DsgPrs_XYZAxisPresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Draws each axis of a trihedron displayed in the
//! presentation aPresentation and with lines shown by
//! the values of aLineAspect. Each axis is defined by:
//! - the first and last points aPfirst and aPlast
//! - the direction aDir and
//! - the value aVal which provides a value for length.
//! The value for length is provided so that the trihedron
//! can vary in length relative to the scale of shape display.
//! Each axis will be identified as X, Y, or Z by the text aText.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_LineAspect)& anLineAspect, const gp_Dir& aDir, const Standard_Real aVal, const Standard_CString aText, const gp_Pnt& aPfirst, const gp_Pnt& aPlast);
//! draws the presentation X ,Y ,Z axis
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_LineAspect)& aLineAspect, const Handle(Prs3d_ArrowAspect)& anArrowAspect, const Handle(Prs3d_TextAspect)& aTextAspect, const gp_Dir& aDir, const Standard_Real aVal, const Standard_CString aText, const gp_Pnt& aPfirst, const gp_Pnt& aPlast);
protected:
private:
};
#endif // _DsgPrs_XYZAxisPresentation_HeaderFile

View File

@@ -1,39 +0,0 @@
-- Created on: 1997-02-10
-- Created by: Odile Olivier
-- Copyright (c) 1997-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- 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.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class XYZPlanePresentation from DsgPrs
---Purpose: A framework for displaying the planes of an XYZ trihedron.
uses
Presentation from Prs3d,
Drawer from Prs3d,
Pnt from gp
is
Add(myclass;
aPresentation: Presentation from Prs3d;
aDrawer : Drawer from Prs3d;
aPt1 : Pnt from gp;
aPt2 : Pnt from gp;
aPt3 : Pnt from gp);
---Purpose: Draws each plane of a trihedron displayed in the
-- presentation aPresentation and with attributes
-- defined by the attribute manager aDrawer. Each
-- triangular plane is defined by the points aPt1 aPt2 and aPt3.
end XYZPlanePresentation;

View File

@@ -14,19 +14,20 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DsgPrs_XYZPlanePresentation.ixx>
#include <Prs3d_Root.hxx>
#include <Prs3d_PlaneAspect.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Graphic3d_Group.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <DsgPrs_XYZPlanePresentation.hxx>
#include <gp_Pnt.hxx>
#include <Graphic3d_ArrayOfPolylines.hxx>
#include <Graphic3d_Group.hxx>
#include <Prs3d_LineAspect.hxx>
#include <Prs3d_PlaneAspect.hxx>
#include <Prs3d_Presentation.hxx>
#include <Prs3d_Root.hxx>
//=======================================================================
//function : Add
//purpose :
//=======================================================================
void DsgPrs_XYZPlanePresentation::Add(
const Handle(Prs3d_Presentation)& aPresentation,
const Handle(Prs3d_Drawer)& aDrawer,

View File

@@ -0,0 +1,66 @@
// Created on: 1997-02-10
// Created by: Odile Olivier
// Copyright (c) 1997-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// 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.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _DsgPrs_XYZPlanePresentation_HeaderFile
#define _DsgPrs_XYZPlanePresentation_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Prs3d_Drawer.hxx>
class Prs3d_Presentation;
class gp_Pnt;
//! A framework for displaying the planes of an XYZ trihedron.
class DsgPrs_XYZPlanePresentation
{
public:
DEFINE_STANDARD_ALLOC
//! Draws each plane of a trihedron displayed in the
//! presentation aPresentation and with attributes
//! defined by the attribute manager aDrawer. Each
//! triangular plane is defined by the points aPt1 aPt2 and aPt3.
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const gp_Pnt& aPt1, const gp_Pnt& aPt2, const gp_Pnt& aPt3);
protected:
private:
};
#endif // _DsgPrs_XYZPlanePresentation_HeaderFile

View File

@@ -1,2 +1,51 @@
DsgPrs.cxx
DsgPrs.hxx
DsgPrs_AnglePresentation.cxx
DsgPrs_AnglePresentation.hxx
DsgPrs_ArrowSide.hxx
DsgPrs_Chamf2dPresentation.cxx
DsgPrs_Chamf2dPresentation.hxx
DsgPrs_ConcentricPresentation.cxx
DsgPrs_ConcentricPresentation.hxx
DsgPrs_DatumPrs.cxx
DsgPrs_DatumPrs.hxx
DsgPrs_DatumPrs.cxx
DsgPrs_DiameterPresentation.cxx
DsgPrs_DiameterPresentation.hxx
DsgPrs_EllipseRadiusPresentation.cxx
DsgPrs_EllipseRadiusPresentation.hxx
DsgPrs_EqualDistancePresentation.cxx
DsgPrs_EqualDistancePresentation.hxx
DsgPrs_EqualRadiusPresentation.cxx
DsgPrs_EqualRadiusPresentation.hxx
DsgPrs_FilletRadiusPresentation.cxx
DsgPrs_FilletRadiusPresentation.hxx
DsgPrs_FixPresentation.cxx
DsgPrs_FixPresentation.hxx
DsgPrs_IdenticPresentation.cxx
DsgPrs_IdenticPresentation.hxx
DsgPrs_LengthPresentation.cxx
DsgPrs_LengthPresentation.hxx
DsgPrs_MidPointPresentation.cxx
DsgPrs_MidPointPresentation.hxx
DsgPrs_OffsetPresentation.cxx
DsgPrs_OffsetPresentation.hxx
DsgPrs_ParalPresentation.cxx
DsgPrs_ParalPresentation.hxx
DsgPrs_PerpenPresentation.cxx
DsgPrs_PerpenPresentation.hxx
DsgPrs_RadiusPresentation.cxx
DsgPrs_RadiusPresentation.hxx
DsgPrs_ShadedPlanePresentation.cxx
DsgPrs_ShadedPlanePresentation.hxx
DsgPrs_ShapeDirPresentation.cxx
DsgPrs_ShapeDirPresentation.hxx
DsgPrs_SymbPresentation.cxx
DsgPrs_SymbPresentation.hxx
DsgPrs_SymmetricPresentation.cxx
DsgPrs_SymmetricPresentation.hxx
DsgPrs_TangentPresentation.cxx
DsgPrs_TangentPresentation.hxx
DsgPrs_XYZAxisPresentation.cxx
DsgPrs_XYZAxisPresentation.hxx
DsgPrs_XYZPlanePresentation.cxx
DsgPrs_XYZPlanePresentation.hxx