1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

Compare commits

..

57 Commits

Author SHA1 Message Date
vglukhik
ffce0d66bb Update version to 7.7.1 2023-03-21 12:36:52 +00:00
dpasukhi
d055c128e7 0033327: Data Exchange, IGES Import - SubfigureDef can't read string
Fixed problem with texted types
Added checking for null string for subfigure via XCAF transferring
2023-03-21 12:36:43 +00:00
dpasukhi
c2e3775a0c 0033337: DRAW - Can't load plugins on Linux OS
WSL 2 have windows FileSystem and as a result we have \r symbols before \n
For this cases we can just remove \r\n (\n is a last symbol) for the node value.
2023-03-21 12:36:43 +00:00
dpasukhi
b524286577 0033331: Data Exchange, Step Import - Unsupported Representation Items
Fixed problem with iteration on Null RI
2023-03-21 12:36:42 +00:00
anv
9c84112977 0033345: Coding - Memory allocation operators got inaccessible
Macros was moved back to public.
2023-03-19 21:57:12 +00:00
akaftasev
5e01cc417c 0033340: Modeling Algorithm - Improve memory management performance in the PaveFiller
Changed NCollection_BaseAllocator to NCollection_IncAllocator in BOPAlgo_PaveFiller::MakeBlocks()
2023-03-19 21:57:12 +00:00
dpasukhi
979e95f188 0033092: Data Exchange, Documentation - Implementation of DE_Wrapper documentation
Implement new user-guide documentation for DE Wrapper
2023-03-19 21:57:11 +00:00
akaftasev
de94621d80 0033264: Modeling Algorithms - Result of section operation is incomplete
Test case added.
2023-03-19 21:57:11 +00:00
akaftasev
aa9f1ba2de 0033263: Modeling Algorithms - BRepFilletAPI_MakeFillet doesn't work for current parameters
Do not calculate edge state if there are more than 4 G1 connections for currect vertex.
2023-03-17 23:04:15 +00:00
akaftasev
54270c2a8c 0030292: Modeling Algorithms - BRepBndLib should avoid using Poly_Polygon3D when called with useTriangulation set to false
BRepBndLib.cxx : treatment of useTriangulation is modified according to specified behavior of algorithm
BRepTest_CurveCommands.cxx : creation edge from polygon3d is added in Draw command mkedge.
2023-03-17 23:04:15 +00:00
akaftasev
3e1bddc4cd 0030055: BRepOffset_MakeOffset throws "TopoDS_Vertex hasn't gp_Pnt" in intersection mode
Diagnostic of mixed connectivity of faces along common edge is added.
If algorithm finds such pair of faces, it stops working with special error code.
2023-03-17 23:04:15 +00:00
dpasukhi
0c47974eb5 0033317: Data Exchange, Step Export - Ignoring color attached to the reference shape label
Fixed problem with pure referencing.
  To export reference label to step we convert it to the assembly with one part.
  All attributes attached to the label should be moved to the new part.
  For working with it new map contains only pure reference labels, that converted to the part
  was implemented to the STEPCAFControl_Writer.
Updated code style of the STEPCAFControl_Writer
Improved ability to export labels from different documents
Removed OCCT_Debug macros to print in Trace gravity
2023-03-17 23:04:14 +00:00
mzernova
f0401b93a0 0027848: Visualization - sensitivity of lines is too high
Improved objects sorting by depth.

The sensitivity calculation for the manipulator has been changed.
Now the sensitivity of the elements of the manipulator depends on its size.

Also fixed the problem of erroneous selection of unfilled circles (SelectMgr_Frustum<N>::hasCircleOverlap() function).

Test case vselect/bugs/bug27848 added.
2023-03-17 23:04:14 +00:00
dorlov
cbd3892496 0030828: Data Exchange - The commands getting shapes from XCAF document should be available in C++
Added two new overloaded methods XCAFDoc_ShapeTool::GetOneShape: one returns TopoDS_Shape from TDF_LabelSequence and the other from a sequence of all top-level shapes which are free
2023-03-17 23:04:14 +00:00
mzernova
054e18966b 0032570: Visualization, AIS_AnimationObject - define rotation around axis
When using AIS_AnimationObject, linear interpolation is performed from one gp_Trsf transformation to another.
But when an object rotates around a specific axis, the object moves not along a linear trajectory,
but along a circle. Therefore, a separate class AIS_AnimationAxisRotation was created that
allows to animate rotation around a specific axis.

Test case tests/v3d/bugs/bug32570 was added.
2023-03-17 23:04:13 +00:00
dpasukhi
4f833b7d13 0033307: Data Exchange, Step Import - Crash after reading empty edge loop
Fixed problem with empty edge list in the edge loop, mark as a fail entity in this case
2023-03-17 23:04:13 +00:00
vro
14b64f123d 0033320: Data Exchange - Reading of a VRML file with a long line fails
Implement rolling back input stream to split on possible logical parts by comma or space.
2023-03-17 23:04:13 +00:00
dorlov
0ca21a9112 0033312: Data Exchange - NULL-dereference in StepToTopoDS_TranslateShell::Init()
The condition "if" was changed to opposite
2023-03-17 23:04:12 +00:00
akaftasev
4607bd0747 0033311: Modeling Algorithm - No results of thrusection algorithm
Changed default value of myPercent
2023-03-17 23:04:12 +00:00
oan
9cd8e0b617 0033315: Mesh - BRepMesh_IncrementalMesh takes forever to finish (ends up with system memory, etc)
Added test case
2023-03-17 23:04:12 +00:00
rodrlyra
1d57bdc710 0033305: Coding - BOPTools_PairSelector::Clear method uses "Clear" instead of "clear" on std::vector 2023-03-17 23:04:11 +00:00
akaftasev
65824e943c 0033306: Modeling Algorithm - Crash in TrimEdge() method
Added condition to not cut the edges by closely located parameters
2023-03-17 23:04:11 +00:00
akaftasev
65531f540c 0033298: Modeling Algorithm - Offset operation gives wrong result
Process only those images of the faces, if one if them has anInsideEdges/anInsideVertices and the other is not.
2023-03-17 23:04:11 +00:00
akaftasev
bffd568302 0033227: Modeling Algorithm - BOPAlgo_BuilderSolid generates incomplete result
Deleted outer loop for shells.
Added additional check of edges orientation for RefineShell().
2023-03-17 23:04:10 +00:00
msv
cbf6b87074 0033304: Modeling Data - Floating point signal when converting a B-spline curve to analytical form
Protect the static function ConicDefinition from calling sqrt with negative argument.
2023-03-17 23:04:10 +00:00
akaftasev
d462aae370 0033247: Modeling Algorithm - BOP report small edges problem and produce empty result
Build shifted pcurve for ellipse and circle cases.
2023-03-17 23:04:09 +00:00
akaftasev
384d03c699 0033265: Modeling Algorithms - Boolean operation hangs on the attached shapes
Added test case.
2023-03-17 23:04:09 +00:00
ifv
4d60da8c58 0033244: Modeling Algorithms - Surface-surface intersection produces the double curves
IntAna_QuadQuadGeo.cxx - estimation of angular tolerance is added for case cone-cone

tests/lowalgos/intss/bug33244 - new test case added
2023-03-17 23:04:09 +00:00
ifv
c22fee9a34 0030781: Sweep algorithm creates non-planar edges (orig. BOPAlgo_MakerVolume fails to build a solid)
BRepFill/BRepFill_AdvancedEvolved.cxx - estimation of angular tolerance is added in method GetLids()

tests/evolved/voluved/bug30781 - new test added
2023-03-17 23:04:08 +00:00
dpasukhi
4ebd858084 0033246: Data Exchange, DE Wrapper - Checking license leads to performance problem
ReWork UpdateLoad functionality:
UpdateLoad calls only if provider is found.
UpdateLoad calls only for chosen type of translation (read/write)
Add new method to UpdateLoad all registered nodes.
2023-03-17 23:04:08 +00:00
nunomsil
f7a0b1fbc4 0031919: Modeling Algorithms - General Fuse raises exception on attempt to imprint a contour to a shell
Exception no longer occurs in current version. However, fuzzyvalue should be set to 1 for the result of the operation to make sense (result of common is 1 wire). Test case added
2023-03-17 23:04:08 +00:00
dpasukhi
c5650474df 0033235: Configuration - Solving the problem with static building of ExpToCasExe
Added new dependency to ExpToCasExe - CSF_wsock32 (on Win only)
2023-03-17 23:04:08 +00:00
dpasukhi
4ec4f117ad 0033250: Configuration - Missing Limits header file
Added new include limits to fix build problem
2023-03-17 23:04:07 +00:00
stv
e0b19449a6 0033218: Data Exchange - XCAFPrs_Texture not allow to use classes inherited from Image_Texture
Type of field XCAFPrs_Texture::myImageSource was changed from Image_Texture to Handle(Image_Texture)
2023-03-17 23:04:07 +00:00
dpasukhi
c334f465ca 0033232: Data Exchange, DE_Wrapper - Implement ability to change global session
Add ability to set/get global session
2023-03-17 23:04:07 +00:00
dpasukhi
674c5c809c 0033230: Data Exchange, DE Wrapper - Update API to find CAD provider
Moved FindProvider method to public section
Made FindProvider as virtual to make it possible to overwrite.
2023-03-17 23:04:06 +00:00
dpasukhi
546ac65cad 0033228: Data Exchange, DE Wrapper - Make the document argument of the method Read const handle
Rewrite document argument for DE_Wrapper Read method
2023-03-17 23:04:06 +00:00
sshutina
f6dd26ddec 0032965: PMIVis - PMIVis_TOT_Vectorized text regressions
Added the ability to draw a shaded shape in the required group.
2023-03-17 23:04:06 +00:00
oan
49c4a2989c 0031865: Mesh - triangulation fails with large deflection values due to unhandled Standard_OutOfRange, BRepMesh_PairOfIndex::Append()
Define minimum number of points for specific types of curves like it was done for circular edges.
2023-03-17 23:04:05 +00:00
knosulko
4e1af7df6c 0033156: Modeling Algorithms - Planar face creation problem
BRepLib_MakeFace::BRepLib_MakeFace: deleted degenerative edges from the input wire;
add test tests\mkface\mkplane\bug33156.
2023-03-17 23:04:05 +00:00
ddzama
8c37cf59fa 0022821: Crash with BRepFilletAPI_MakeFillet
test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
Experimentally has been found that reducing of parameter
ChFi3d_Builder::tolesp for this task solves the issue.

So, as soluton it is proposed to link parameter toleps with parameter range of
spine curve. So, production coefficient has been set to pass all tests and
2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821

first has been extended to test different scaling factors,
second has been extended to make fillet on all edges from 12.

Additionally:
 - fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
     In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
     So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
     Get rid of tolapp3d duplication constant - tol_3d
 - tolesp = 5.0e-5 * (umax - umin)
 - tolesp replaced by tolpoint2d/tolpoint3d in several classes.
     Blend_Walking
     BRepBlend_SurfRstLineBuilder
     BRepBlend_RstRstLineBuilder
     Blend_CSWalking
     Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
     Instead `tolesp` - `tolpoint2d` or `tolpoint3d` is employed in contexts where tolerance of point in 2d or 3d space is excepted.
 - Replace tolesp with tolpoint2d/tolpoint3d in BBPP function argument.
 - Use tolapp3d instead tolesp in BonVoisin function,
2023-03-17 23:04:05 +00:00
ddzama
8466701f7e 0032934: Modelling Algorithms - BRepExtrema_DistShapeShape returns two solutions instead of one
distmini of two edges returns two solution points instead one.
Second unneeded solution point is the same as first.

The problem was in fact that second edge has continuity C0.
In this case additional extremas analysis performed in special procedure

PERFORM_C0

And second point found in this procedure.
Folowing code of

BRepExtrema_DistanceSS::Perform (variant for Edge/Edge)

we should this additional solution extremas set
to be object of test TRI_SOLUTION before pushing
into main list of solution.
This solves the problem.
Corresponding test and compound with edges has been created.

Additionally, in the function

PERFORM_C0

an obvious error has fixed.
2023-03-17 23:04:04 +00:00
akaftasev
6241604814 0033180: We had a problem calling the OCC library at the customer site, and the program crashed
Added status for thrusection operations and changed throw constructions to set of the status and break the function.
2023-03-17 23:04:04 +00:00
smoskvin
a457daa116 0033225: Changing the status of tests on Ubuntu 20.04 and Windows 64 VC142 2023-03-17 23:04:03 +00:00
atereshi
3c8d9bbb7f 0033217: DRAW - Missed Standard_EXPORT attribute in DrawTrSurf_Set* functions 2023-03-17 23:04:03 +00:00
gelin
c0bcd773c5 0032818: Modeling Algorithms - Result of sweep operation is invalid
BRepFill_TrimShellCorner.cxx - setting correct orientation for NewEdge
tests/pipe/bugs/bug32818 - new test case added
2023-03-17 23:04:03 +00:00
ika
6c10d4b11a 0030256: ACIS Import - crash while importing SAT file on constructing a pipe
Fix for thin section with both first and last parameters located in one segment.
2023-03-17 23:04:02 +00:00
ifv
0913396cd3 0033193: Modeling Algorithms - Regression: UnifySameDomain raises SIGSEGV
ShapeUpgrade_UnifySameDomain.cxx - method ReconstructMissedSeam is improved.

tests/bugs/heal/bug33193 - new test case added
2023-03-17 23:04:02 +00:00
atereshi
a2e128b4df 0027122: Data Exchange - invalid shapes are produced during model translation due to huge face tolerance
Problem: The shape has two faces that dimensions are less than tolerance in the specified STEP file. This situation produces the invalid shape.
Change: Shape process has operator FixFaceSize, that is exactly suitable for this shape. The only option of FixFaceSize operator was added to InterfaceStatic, to manage the operator from DRAW command.
Result: The shape without artifacts can be reproduced from STEP file with an extra healing procedure.
2023-03-17 23:04:02 +00:00
ifv
8c7a2aa65f 0033179: Modeling Algorithms - Crash in ShapeFix_Shape with the attached object, when healing for fixing SameParameterFlag
BSplCLib_2.cxx - method MergeBSplineKnots is modified in order to have always not empty result.
Geom2dConvert.cxx - in static function MultNumandDenom tolerance for comparing knots is decreased.

tests/bugs/modalg_8/bug33179 test case added
2023-03-17 23:04:01 +00:00
ifv
1eb623f2ba 0026441: Modeling Algorithms - BRepOffset_MakeOffset affects original shape
BRepOffset_MakeOffset.cxx - tolerance control for building planar faces is implemented,
                            updating tolerance for initial entities is avoided

BRepAlgo_Loop.cxx - "total" setting tolerance 0.001 is removing

BRepLib.cxx - checking of "locked" for vertex is removing in static function UpdShTol

QABugs_20.cxx - add new command OCC26441 for checking tolerance differenses between two "identical" shapes

tests/bugs/modalg_7/bug30054 - case now is "BAD", because really result shape is invalid: many faces has not closed wires with huge gaps between ends of edges. Result was "OK" only because tolerances of vertices were increased by algorithm to cover all gaps.

tests/bugs/modalg_8/bug26441 - new test case added

Other test: B3, C8, A7, C8: they were "BAD" and now are "BAD", only some problems are changed.
2023-03-17 23:04:01 +00:00
ifv
8c49832926 0033173: Modeling Algorithms - Regression in BRepExtrema_DistShapeShape causing Standard_OutOfRange exception
Extrema/Extrema_ExtCC.cxx - checking number of solutions is added

tests/bugs/modalg_8/bug33173 - test case added
2023-03-17 23:04:01 +00:00
atereshi
6447aae244 0033187: Modeling Algorithms - Crash in postprocessing of imported shape
Problem: Desynchronization of behaviors of GeomAdaptor_Curve::NbIntervals and
 GeomAdaptor_Curve::Intervals functions. First calculates number of intervals, then
 array is created and second fills the array. In some cases the size of array
 is less than need for filling.

Change:
1. Added function BSplCLib::Intervals that calculates number of interval and fills
 the array with its (if needed).
2. Simplified the algorithm of intervals calculation.
3. GeomAdaptor_Curve::NbIntervals/Intervals and Geom2dAdaptor_Curve::NbIntervals/Intervals
 use BSplCLib::Intervals.
4. When creating an adapter for the base curve, the boundaries of the adapter for the offset curve are applied.
5. Test for problem shape was created: bugs modalg_8 bug33187.

Result: The new approach eliminates the problem of writing outside the array bounds.
2023-03-17 23:04:00 +00:00
knosulko
d6b9f64152 0033144: Modeling Algorithms - Wrong result of Shape Proximity
Added step of refinement the coarser of the two shapes meshes to produce two meshes with approximately the same density.
Added tests lowalgos/proximity.

Fixed accounting of parameters to adjust number of initial sample points
2023-03-17 23:04:00 +00:00
ifv
27d82c622c 0033170: Modeling Algorithms - Checking for canonical geometry: plane detection problems
GeomLib_IsPlanarSurface.cxx - using poles for checking BSpline, Bezier curves and surface changed
                              on checking by curve, surface points.

BRepOffset_MakeOffset.cxx - set normal of plane surface according to normal of initial face surface

tests/cr/bugs/bug33170 - new test case added
2023-03-17 23:04:00 +00:00
ona
d25a8fa9e9 0032977: OCC V7.5, V7.6 cannot read STEP color correctly for the root label, but v6.8 can
- color overriding mechanism is implemented for assembles, parts and instances
2023-03-17 23:03:59 +00:00
Eugeny Maltchikov
eb2a1d9e3f 0033171: Modeling Algorithms - Invalid result of faces unification
Avoid unification of the faces belonging to the different shells.
2023-03-17 23:03:59 +00:00
36 changed files with 837 additions and 932 deletions

View File

@@ -45,6 +45,7 @@ user_guides/visualization/visualization.md
user_guides/iges/iges.md
user_guides/step/step.md
user_guides/xde/xde.md
user_guides/de_wrapper/de_wrapper.md
user_guides/ocaf/ocaf.md
user_guides/draw_test_harness/draw_test_harness.md
user_guides/inspector/inspector.md

View File

@@ -20,6 +20,7 @@ user_guides/vis/vis.md
user_guides/iges/iges.md
user_guides/step/step.md
user_guides/xde/xde.md
user_guides/de_wrapper/de_wrapper.md
user_guides/inspector/inspector.md
user_guides/draw_test_harness/draw_test_harness.md

View File

@@ -0,0 +1,413 @@
Data Exchange Wrapper (DE_Wrapper) {#occt_user_guides__de_wrapper}
============================
@tableofcontents
@section occt_de_wrapper_1 Introduction
This guide explains how to use the **Data Exchange Wrapper** (DE Wrapper).
It provides basic directions on setup, usage and file creation via DE_Wrapper.
The Data Exchange Wrapper (DE Wrapper) module allows reading and writing supported CAD formats to shape objects or special XDE documents, setting up the transfer process for all CAD files.
It is also possible to add support for new CAD formats by prototyping existing tools.
The DE Wrapper component requires @ref occt_user_guides__xde "XDE" toolkit for operation.
This guide mainly explains how to convert CAD files to Open CASCADE Technology (OCCT) shapes and vice versa.
This guide principally deals with the following OCCT classes:
* The Provider class, which loads CAD files and translates their contents to OCCT shapes or XDE documents, or translates OCCT shapes or XDE documents to CAD entities and then writes those entities to a CAD file.
* The Configuration class, which contains all information for the transfer process, such as the units, tolerance, and all internal information for the OCC readers or writers.
* The wrapper class, which contains all loaded configuration objects with own CAD format, reads or writes CAD files in the format derived from file extension or contents and saves or loads configuration settings for loaded configuration objects.
@section occt_de_wrapper_2 Supported CAD formats
| CAD format | Extensions | RW support | Thread Safety | Presentation | Package |
| :--------- | :--------- | :--------- | :----------- | :----------- | :------ |
| STEP | .stp, .step .stepz | RW | No | BRep, Mesh | STEPCAFControl |
| XCAF | .xbf | RW | Yes | BRep, Mesh | DEXCAFCascade |
| BREP | .brep | RW | Yes | BRep, Mesh | DEBRepCascade |
| IGES | .igs, .iges | RW | No | BRep | IGESCAFControl |
| OBJ | .obj | RW | Yes | Mesh | RWObj |
| STL | .stl | RW | Yes | Mesh | RWStl |
| PLY | .ply | W | Yes | Mesh | RWPly |
| GLTF | .glTF .glb | RW | Yes | Mesh | RWGltf |
| VRML | .wrl .vrml | RW | Yes | Mesh | Vrml |
**Note** :
* The format names in the first column match the FormatName values used for configuration nodes.
* The VendorName for all listed CAD formats is "OCC".
@section occt_de_wrapper_3 DE Session Configuration
Any providers can have their own read/write parameters. The transfer process is set up using DE configuration nodes, which hold all relevant parameters. There are two ways to change the parameter values: directly from code or by an external resource file/string.
The session is a global or static DE_Wrapper object that stores registered DE configuration nodes and wraps DE commands to work with them. It has some configuration parameters of its own and also keeps track of loaded nodes and specilal global parameters.
@subsection occt_de_wrapper_3_1 Getting a DE session. Code sample
Working with a DE session requires a DE_Wrapper object to be loaded or created first.
Getting the global DE_Wrapping object:
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
~~~~
Creating a local DE_Wrapper:
~~~~{.cpp}
Handle(DE_Wrapper) aSession = new DE_Wrapper();
~~~~
It is recommended to create a local one-time copy to work with the session, if no global changes are intended.
~~~~{.cpp}
Handle(DE_Wrapper) aOneTimeSession = aSession->Copy();
~~~~
@subsection occt_de_wrapper_3_2 Configuration resource
Configuration resource is an external file or string of the following format:
~~~~{.cpp}
global.priority.STEP : OCC DTK
global.general.length.unit : 1
provider.STEP.OCC.read.precision.val : 0.0001
~~~~
@subsubsection occt_de_wrapper_3_2_1 Configuration resource: graph of scopes
* **global.** is a scope of global parameters
* **priority.** is a scope of priority to use vendors with their providers.
* **general.** is a scope of global configuration parameter values
* <strong>"..."</strong> is an internal configuration with any internal scopes
* <strong>". : "</strong> is a separator of key-value
* __...__ parameter value, can't contain new line symbols.
* **provider.** is a scope of configuration providers
* **STEP.** is a scope of CAD format to configure
* **OCC.** is a scope of a vendor or provider
* <strong>"..."</strong> is an internal configuration with any internal scopes
* <strong>". : "</strong> is a separator of key-value
* <strong>"..."</strong> parameter value, can't contain new line symbols.
@subsubsection occt_de_wrapper_3_2_2 Loading configuration resources. Configuring DE Session
The resource should be loaded after the registration of all providers that should be configured. The resource only impacts registered parameters. To configure a new registered provider it is necessary to load the resource again. Parameters not present in the resource will remain unchanged.
There are two ways to check what parameters are available:
* C++: Open ConfigureNode file and check the InternalParameter field. Each parameter will be described with a comment. To check the global parameters, use the DE_Wrapper class public methods.
* Resource: Register all available Nodes to the session, then save the configuration and view all existing parameters.
There are two options for loading a resource: recursive and global parameters only. Recursive is the default option to configure all global parameters (units, priority, enable status) and all registered providers. Non-recursive configures only global parameters and ignores all provider settings. This option is the best for updating provider priority.
@subsubsection occt_de_wrapper_3_2_3 Loading configuration resources. Code sample
Configuring using a resource string:
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aString =
"global.priority.STEP : OCC DTK\n"
"global.general.length.unit : 1\n"
"provider.STEP.OCC.read.precision.val : 0.\n";
Standard_Boolean aIsRecursive = Standard_True;
if (!aSession->Load(aString, aIsRecursive))
{
Message::SendFail() << "Error: configuration is incorrect";
}
~~~~
Configuring using a resource file:
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "";
Standard_Boolean aIsRecursive = Standard_True;
if (!aSession->Load(aPathToFile, aIsRecursive))
{
Message::SendFail() << "Error: configuration is incorrect";
}
~~~~
@subsubsection occt_de_wrapper_3_2_4 Loading configuration resources. DRAW sample
Configuring using a resource string:
~~~~{.cpp}
set conf "
global.priority.STEP : OCC
global.general.length.unit : 1
provider.STEP.OCC.read.iges.bspline.continuity : 1
provider.STEP.OCC.read.precision.mode : 0
provider.STEP.OCC.read.precision.val : 0.0001
"
LoadConfiguration ${conf} -recursive on
~~~~
Configuring using a resource file:
~~~~{.cpp}
set pathToFile ""
LoadConfiguration ${pathToFile} -recursive on
~~~~
@subsubsection occt_de_wrapper_3_2_5 Saving configuration resources. Dump of configuration DE Session
Saving the configuration of a DE Session involves dumping all parameters of registered providers.
If a parameter did not change during the session, its value remains as default.
There are two ways to save a resource: recursive and global parameters only. Recursive is the way to dump all registered provider information. Non-recursive dumps only global parameters, for example, save priority of vendors or the length unit.
It is possible to filter what vendors or providers to save by providing the correct name of the vendor or provider.
@subsubsection occt_de_wrapper_3_2_6 Saving configuration resources. Code sample
Dump to resource string. If the vendors list is empty, saves all vendors. If the providers list is empty, saves all providers of valid vendors.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TColStd_ListOfAsciiString aFormats;
TColStd_ListOfAsciiString aVendors;
aFormats.Appends("STEP");
aVendors.Appends("OCC");
Standard_Boolean aIsRecursive = Standard_True;
TCollection_AsciiString aConf = aSession->aConf->Save(aIsRecursive, aFormats, aVendors);
~~~~
Configure using a resource file. If the vendors list is empty, saves all vendors. If the providers list is empty, saves all providers of valid vendors.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "";
TColStd_ListOfAsciiString aFormats;
TColStd_ListOfAsciiString aVendors;
aFormats.Appends("STEP");
aVendors.Appends("OCC");
Standard_Boolean aIsRecursive = Standard_True;
if (!aSession->Save(aPathToFile, aIsRecursive, aFormats,aVendors))
{
Message::SendFail() << "Error: configuration is not saved";
}
~~~~
@subsubsection occt_de_wrapper_3_2_7 Saving configuration resources. DRAW sample
Dump configuration to string. If no list of vendors is passed or it is empty, all vendors are saved. If no providers list is passed or it is empty, all providers of valid vendors are saved.
~~~~{.cpp}
set vendors "OCC"
set format "STEP"
set dump_conf [DumpConfiguration -recursive on -format ${format} -vendor ${vendors}]
~~~~
Dump configuration to file. If no vendors list are set as an argument or it is empty, saves all vendors. If no providers list as argument or it is empty, saves all providers of valid vendors:
~~~~{.cpp}
set vendors "OCC"
set format "STEP"
set pathToFile ""
DumpConfiguration -path ${pathToFile} -recursive on -format ${format} -vendor ${vendors}
~~~~
@subsection occt_de_wrapper_3_3 Registering providers
To transfer a CAD file using DE Wrapper, it is necessary to register a CAD provider.
The provider contains internal and global parameters that have default values in the creation stage.
All registered providers are set to the map with information about its vendor and kept as smart handles. Therefore, it is possible to change the values via handle from external code.
@subsubsection occt_de_wrapper_3_3_1 Registering providers. Code sample
It is nesessary to register only one ConfigurationNode for all needed formats.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
Handle(DE_ConfigurationNode) aNode = new STEPCAFControl_ConfigurationNode();
aSession->Bind(aNode);
~~~~
@subsubsection occt_de_wrapper_3_3_2 Registering providers. DRAW Sample
Use DRAW with all providers registered by the following command:
~~~~{.cpp}
pload XDE
~~~~
@subsubsection occt_de_wrapper_3_3_3 Realtime initialization. Code sample
It is possible to change a paramater from code using a smart pointer.
~~~~{.cpp}
// global variable
static Handle(STEPCAFControl_ConfigurationNode) THE_STEP_NODE;
static Handle(DE_ConfigurationNode) RegisterStepNode()
{
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
if (!THE_STEP_NODE.IsNull())
{
return THE_STEP_NODE;
}
THE_STEP_NODE = new STEPCAFControl_ConfigurationNode();
aSession->Bind(THE_STEP_NODE);
return THE_STEP_NODE;
}
// Change parameter value
THE_STEP_NODE->InternalParameters.ReadRelationship = false;
THE_STEP_NODE->InternalParameters.ReadName = false;
THE_STEP_NODE->InternalParameters.ReadProps = false;
~~~~
@subsection occt_de_wrapper_3_4 Priority of Vendors
DE session is able to work with several vendors with the same supported CAD format. To choose the preffered vendor for each format, use a special priority list.
If the high priority vendor's provider is not supported, a transfer operation is needed (write/read), then the next vendor will be chosen.
@subsubsection occt_de_wrapper_3_4_1 Priority of Vendors. Code sample
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aFormat = "STEP";
TColStd_ListOfAsciiString aVendors;
aVendors.Appends("OCC"); // high priority
aVendors.Appends("DTK");
// Flag to disable not choosen vendors, in this case configuration is possible
// otherwise, lower their priority and continue to check ability to transfer
Standard_Boolean aToDisable = Standard_True;
aSession->ChangePriority(aFormat, aVendors, aToDisable);
~~~~
@subsubsection occt_de_wrapper_3_4_2 Priority of Vendors. DRAW Sample
It is recommended to disable recursion and update only global parameters.
~~~~{.cpp}
set conf "
global.priority.STEP : OCC DTK
"
LoadConfiguration ${conf} -recursive off
~~~~
@section occt_de_wrapper_4 Transfer of CAD files
To transfer from a CAD file to OCC or from OCC to a CAD file, it is necessary to use a configured DE_Wrapper object. It can be local, one-time or global. Global configuration of DE_Wrapper propagates to all nodes via transfer. There are two options for transferring: using OCC shape or XCAF document. It is possible to work only with real path to/from the file. Streaming is not supported (yet).
The format of input/output file is automatically determined by its extension or contents.
@subsection occt_de_wrapper_4_1 Transfer of CAD files. Code samples
Reading STEP file to Shape.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "example.stp";
TopoDS_Shape aShRes;
if (!aSession->Read(aPathToFile, aShRes))
{
Message::SendFail() << "Error: Can't read file";
}
~~~~
Writing Shape to STEP file.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "example.stp";
TopoDS_Shape aShFrom = ...;
if (!aSession->Write(aPathToFile, aShRes))
{
Message::SendFail() << "Error: Can't write file";
}
~~~~
Reading STEP file into XCAF document.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "example.stp";
Handle(TDocStd_Document) aDoc = ...;
if (!aSession->Read(aPathToFile, aDoc))
{
Message::SendFail() << "Error: Can't read file";
}
~~~~
Writing XCAF document into STEP.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper();
TCollection_AsciiString aPathToFile = "example.stp";
Handle(TDocStd_Document) aDoc = ...;
if (!aSession->Write(aPathToFile, aDoc))
{
Message::SendFail() << "Error: Can't write file";
}
~~~~
@subsection occt_de_wrapper_4_2 Transfer of CAD files. DRAW samples
Reading a STEP file into a Shape.
~~~~{.cpp}
set fileName "sample.stp"
readfile shape ${fileName}
~~~~
Writing a Shape into STEP.
~~~~{.cpp}
set fileName "sample.stp"
writefile shape ${fileName}
~~~~
Reading STEP into XCAF document.
~~~~{.cpp}
set fileName "sample.stp"
ReadFile D ${fileName}
~~~~
Writing XCAF document into STEP.
~~~~{.cpp}
set fileName "sample.stp"
WriteFile D ${fileName}
~~~~
@subsection occt_de_wrapper_4_3 Transfer using DE Provider. Code sample
It is possible to read and write CAD files directly from a special provider.
~~~~{.cpp}
// Creating or getting node
Handle(STEPCAFControl_ConfigurationNode) aNode = new STEPCAFControl_ConfigurationNode();
// Creationg an one-time provider
Handle(DE_Provider) aProvider = aNode->BuildProvider();
// Setting configuration with all parameters
aProvider->SetNode(aNode);
if (!aProvider->Read(...))
{
Message::SendFail() << "Error: Can't read STEP file";
}
if (!aProvider->Write(...))
{
Message::SendFail() << "Error: Can't write STEP file";
}
~~~~
@subsection occt_de_wrapper_4_4 Temporary configuration via transfer
It is possible to change the configuration of only one transfer operation. To avoid changing parameters in a session, one-time clone of the session can be created and used for transfer. This way is recommended for use in multithreaded mode.
@subsubsection occt_de_wrapper_4_4_1 Temporary configuration via transfer. Code sample
Code sample to configure via transfer.
~~~~{.cpp}
Handle(DE_Wrapper) aSession = DE_Wrapper::GlobalWrapper()->Copy();
TCollection_AsciiString aString =
"global.priority.STEP : OCC DTK\n"
"global.general.length.unit : 1\n"
"provider.STEP.OCC.read.precision.val : 0.\n";
if (!aSession->Load(aString, aIsRecursive))
{
Message::SendFail() << "Error: configuration is incorrect";
}
TCollection_AsciiString aPathToFile = "example.stp";
TopoDS_Shape aShRes;
if (!aSession->Read(aPathToFile, aShRes))
{
Message::SendFail() << "Error: Can't read file";
}
~~~~
@subsubsection occt_de_wrapper_4_4_2 Temporary configuration via transfer. DRAW sample
Code sample to configure via transfer within DRAW command.
~~~~{.cpp}
set fileName "sample.stp"
readfile S5 $filename -conf "global.general.length.unit : 1000 "
~~~~
Code sample to configure via transfer as variable.
~~~~{.cpp}
set fileName "sample.stp"
set conf "
global.priority.STEP : OCC
global.general.length.unit : 1
provider.STEP.OCC.read.iges.bspline.continuity : 1
provider.STEP.OCC.read.precision.mode : 0
provider.STEP.OCC.read.precision.val : 0.0001
"
readfile S5 $filename -conf ${conf}
~~~~

View File

@@ -13,6 +13,7 @@ OCCT User Guides are organized by OCCT modules:
* @subpage occt_user_guides__iges "IGES Translator"
* @subpage occt_user_guides__step "STEP Translator"
* @subpage occt_user_guides__xde "Extended Data Exchange (XDE)"
* @subpage occt_user_guides__de_wrapper "Data Exchange Wrapper (DE Wrapper)"
* @subpage occt_user_guides__ocaf "Open CASCADE Application Framework (OCAF)"
* @subpage occt_user_guides__test_harness "DRAW Test Harness"
* @subpage occt_user_guides__inspector "Inspector"

View File

@@ -62,6 +62,7 @@
#include <IntTools_SequenceOfCurves.hxx>
#include <IntTools_SequenceOfPntOn2Faces.hxx>
#include <IntTools_Tools.hxx>
#include <NCollection_IncAllocator.hxx>
#include <NCollection_Vector.hxx>
#include <Precision.hxx>
#include <TColStd_ListOfInteger.hxx>
@@ -578,14 +579,12 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
Standard_Integer i, nF1, nF2, aNbC, aNbP, j;
Standard_Integer nV1, nV2;
Standard_Real aT1, aT2;
Handle(NCollection_BaseAllocator) aAllocator;
Handle(NCollection_BaseAllocator) aAllocator = new NCollection_IncAllocator;
BOPDS_ListIteratorOfListOfPaveBlock aItLPB;
TopoDS_Edge aES;
Handle(BOPDS_PaveBlock) aPBOut;
//
//-----------------------------------------------------scope f
aAllocator=
NCollection_BaseAllocator::CommonBaseAllocator();
//
TColStd_ListOfInteger aLSE(aAllocator), aLBV(aAllocator);
TColStd_MapOfInteger aMVOnIn(100, aAllocator), aMVCommon(100, aAllocator),

View File

@@ -322,7 +322,8 @@ Standard_Boolean IGESCAFControl_Reader::Transfer (const Handle(TDocStd_Document)
//Checks that current entity is a subfigure
Handle(IGESBasic_SubfigureDef) aSubfigure = Handle(IGESBasic_SubfigureDef)::DownCast (ent);
if (GetNameMode() && !aSubfigure.IsNull() && STool->Search (S, L, Standard_True, Standard_True))
if (GetNameMode() && !aSubfigure.IsNull() && !aSubfigure->Name().IsNull() &&
STool->Search(S, L, Standard_True, Standard_True))
{
//In this case we attach subfigure name to the label, instead of default "COMPOUND"
Handle(TCollection_HAsciiString) aName = aSubfigure->Name();

View File

@@ -633,34 +633,55 @@ Standard_Boolean IGESData_ParamReader::ReadXYZ
//=======================================================================
//function : ReadText
//purpose :
//purpose :
//=======================================================================
Standard_Boolean IGESData_ParamReader::ReadText
(const IGESData_ParamCursor& PC, const Message_Msg& amsg,
Handle(TCollection_HAsciiString)& val)
Standard_Boolean IGESData_ParamReader::ReadText(const IGESData_ParamCursor& thePC,
const Message_Msg& theMsg,
Handle(TCollection_HAsciiString)& theVal)
{
if (!PrepareRead(PC,Standard_False)) return Standard_False;
const Interface_FileParameter& FP = theparams->Value(theindex+thebase);
if (FP.ParamType() != Interface_ParamText) {
if (FP.ParamType() == Interface_ParamVoid) {
val = new TCollection_HAsciiString("");
if (!PrepareRead(thePC, Standard_False))
{
return Standard_False;
}
const Interface_FileParameter& aFP = theparams->Value(theindex + thebase);
if (aFP.ParamType() != Interface_ParamText)
{
theVal = new TCollection_HAsciiString("");
if (aFP.ParamType() == Interface_ParamVoid)
{
return Standard_True;
}
SendFail (amsg);
SendFail(theMsg);
return Standard_False;
}
Handle(TCollection_HAsciiString) tval = new TCollection_HAsciiString (FP.CValue());
Standard_Integer lnt = tval->Length();
Standard_Integer lnh = tval->Location(1,'H',1,lnt);
if (lnh <= 1 || lnh >= lnt) {
SendFail (amsg);
const Handle(TCollection_HAsciiString) aBaseValue = new TCollection_HAsciiString(aFP.CValue());
const Standard_Integer aBaseLength = aBaseValue->Length();
const Standard_Integer aSymbolLocation = aBaseValue->Location(1, 'H', 1, aBaseLength);
if (aSymbolLocation <= 1 || aSymbolLocation > aBaseLength)
{
theVal = new TCollection_HAsciiString("");
SendFail(theMsg);
return Standard_False;
} else {
Standard_Integer hol = atoi (tval->SubString(1,lnh-1)->ToCString());
if (hol != (lnt-lnh)) SendWarning (amsg);
}
val = new TCollection_HAsciiString(tval->SubString(lnh+1,lnt)->ToCString());
const TCollection_AsciiString aSpecialSubString = aBaseValue->String().SubString(1, aSymbolLocation - 1);
if (!aSpecialSubString.IsIntegerValue())
{
theVal = new TCollection_HAsciiString("");
SendFail(theMsg);
return Standard_False;
}
Standard_Integer aResLength = aSpecialSubString.IntegerValue();
if (aResLength != (aBaseLength - aSymbolLocation))
{
SendWarning(theMsg);
aResLength = aBaseLength - aSymbolLocation;
}
TCollection_AsciiString aResString;
if (aResLength > 0)
{
aResString = aBaseValue->String().SubString(aSymbolLocation + 1, aBaseLength);
}
theVal = new TCollection_HAsciiString(aResString);
return Standard_True;
}

View File

@@ -200,7 +200,7 @@ public:
//! For Message
Standard_EXPORT Standard_Boolean ReadXYZ (const IGESData_ParamCursor& PC, const Standard_CString mess, gp_XYZ& val);
Standard_EXPORT Standard_Boolean ReadText (const IGESData_ParamCursor& PC, const Message_Msg& amsg, Handle(TCollection_HAsciiString)& val);
Standard_EXPORT Standard_Boolean ReadText (const IGESData_ParamCursor& thePC, const Message_Msg& theMsg, Handle(TCollection_HAsciiString)& theVal);
//! Reads a Text value from parameter "num", as a String from
//! Collection, that is, Hollerith text without leading "nnnH"

View File

@@ -445,7 +445,6 @@
#include <RWStepVisual_RWFillAreaStyle.hxx>
#include <RWStepVisual_RWFillAreaStyleColour.hxx>
#include <RWStepVisual_RWInvisibility.hxx>
#include <RWStepVisual_RWLeaderDirectedCallout.hxx>
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationArea.hxx>
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation.hxx>
#include <RWStepVisual_RWOverRidingStyledItem.hxx>
@@ -911,10 +910,6 @@
#include <StepShape_Vertex.hxx>
#include <StepShape_VertexLoop.hxx>
#include <StepShape_VertexPoint.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
#include <StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationText.hxx>
#include <StepVisual_AnnotationTextOccurrence.hxx>
#include <StepVisual_AreaInSet.hxx>
@@ -939,7 +934,6 @@
#include <StepVisual_FillAreaStyle.hxx>
#include <StepVisual_FillAreaStyleColour.hxx>
#include <StepVisual_Invisibility.hxx>
#include <StepVisual_LeaderDirectedCallout.hxx>
#include <StepVisual_MechanicalDesignGeometricPresentationArea.hxx>
#include <StepVisual_MechanicalDesignGeometricPresentationRepresentation.hxx>
#include <StepVisual_OverRidingStyledItem.hxx>
@@ -1154,9 +1148,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_GeneralModule,StepData_GeneralModule)
#include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
#include <RWStepDimTol_RWGeoTolAndGeoTolWthMaxTol.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationOccurrence.hxx>
#include <RWStepVisual_RWAnnotationPlane.hxx>
#include <RWStepVisual_RWDraughtingCallout.hxx>
@@ -1225,6 +1216,8 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_GeneralModule,StepData_GeneralModule)
#include <RWStepVisual_RWCameraModelD3MultiClipping.hxx>
#include <RWStepVisual_RWCameraModelD3MultiClippingIntersection.hxx>
#include <RWStepVisual_RWCameraModelD3MultiClippingUnion.hxx>
#include <StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrenceAndGeomReprItem.hxx>
// Added for kinematics implementation
#include <RWStepKinematics_RWActuatedKinPairAndOrderKinPair.hxx>
@@ -5874,27 +5867,6 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
aTool.Share(anEnt, iter);
}
break;
case 820:
{
DeclareAndCast(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem aTool;
aTool.Share(anEnt, iter);
}
break;
case 821:
{
DeclareAndCast(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem aTool;
aTool.Share(anEnt, iter);
}
break;
case 824:
{
DeclareAndCast(StepVisual_LeaderDirectedCallout, anEnt, ent);
RWStepVisual_RWLeaderDirectedCallout aTool;
aTool.Share(anEnt, iter);
}
break;
default : break;
}
}
@@ -8201,15 +8173,7 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
case 818:
ent = new StepVisual_CubicBezierTriangulatedFace;
break;
case 820:
ent = new StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem;
break;
case 821:
ent = new StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem;
break;
case 824:
ent = new StepVisual_LeaderDirectedCallout;
break;
default:
return Standard_False;
}
@@ -8906,9 +8870,6 @@ Standard_Integer RWStepAP214_GeneralModule::CategoryNumber
case 816: return cataux;
case 817: return cataux;
case 818: return cataux;
case 820: return catdr;
case 821: return catdr;
case 824: return cataux;
default : break;
}
return 0;

View File

@@ -194,7 +194,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <StepGeom_Hyperbola.hxx>
#include <StepGeom_IntersectionCurve.hxx>
#include <StepVisual_Invisibility.hxx>
#include <StepVisual_LeaderDirectedCallout.hxx>
#include <StepBasic_LengthMeasureWithUnit.hxx>
#include <StepBasic_LengthUnit.hxx>
#include <StepGeom_Line.hxx>
@@ -627,7 +626,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <RWStepGeom_RWHyperbola.hxx>
#include <RWStepGeom_RWIntersectionCurve.hxx>
#include <RWStepVisual_RWInvisibility.hxx>
#include <RWStepVisual_RWLeaderDirectedCallout.hxx>
#include <RWStepBasic_RWLengthMeasureWithUnit.hxx>
#include <RWStepBasic_RWLengthUnit.hxx>
#include <RWStepGeom_RWLine.hxx>
@@ -1362,9 +1360,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
#include <RWStepDimTol_RWGeoTolAndGeoTolWthMaxTol.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationOccurrence.hxx>
#include <RWStepVisual_RWAnnotationPlane.hxx>
#include <RWStepVisual_RWDraughtingCallout.hxx>
@@ -1415,9 +1410,6 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol.hxx>
#include <StepDimTol_GeoTolAndGeoTolWthMaxTol.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
#include <StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationPlane.hxx>
#include <StepVisual_DraughtingCallout.hxx>
@@ -1450,6 +1442,8 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <RWStepVisual_RWCameraModelD3MultiClipping.hxx>
#include <RWStepVisual_RWCameraModelD3MultiClippingIntersection.hxx>
#include <RWStepVisual_RWCameraModelD3MultiClippingUnion.hxx>
#include <StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWAnnotationCurveOccurrenceAndGeomReprItem.hxx>
#include <RWStepVisual_RWSurfaceStyleTransparent.hxx>
#include <RWStepVisual_RWSurfaceStyleReflectanceAmbient.hxx>
@@ -1772,11 +1766,8 @@ static TCollection_AsciiString Reco_HalfSpaceSolid ("HALF_SPACE_SOLID");
static TCollection_AsciiString Reco_Hyperbola ("HYPERBOLA");
static TCollection_AsciiString Reco_IntersectionCurve ("INTERSECTION_CURVE");
static TCollection_AsciiString Reco_Invisibility ("INVISIBILITY");
static TCollection_AsciiString Reco_LeaderCurve ("LEADER_CURVE");
static TCollection_AsciiString Reco_LeaderTerminator ("LEADER_TERMINATOR");
static TCollection_AsciiString Reco_LengthMeasureWithUnit ("LENGTH_MEASURE_WITH_UNIT");
static TCollection_AsciiString Reco_LengthUnit ("LENGTH_UNIT");
static TCollection_AsciiString Reco_LeaderDirectedCallout ("LEADER_DIRECTED_CALLOUT");
static TCollection_AsciiString Reco_Line ("LINE");
static TCollection_AsciiString Reco_LocalTime ("LOCAL_TIME");
static TCollection_AsciiString Reco_Loop ("LOOP");
@@ -2359,8 +2350,6 @@ static TCollection_AsciiString Reco_ComplexTriangulatedSurfaceSet("COMPLEX_TRIAN
static TCollection_AsciiString Reco_CubicBezierTessellatedEdge("CUBIC_BEZIER_TESSELLATED_EDGE");
static TCollection_AsciiString Reco_CubicBezierTriangulatedFace("CUBIC_BEZIER_TRIANGULATED_FACE");
// -- Definition of the libraries --
static NCollection_DataMap<TCollection_AsciiString, Standard_Integer> typenums;
@@ -3116,9 +3105,6 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
typenums.Bind(Reco_ComplexTriangulatedSurfaceSet, 816);
typenums.Bind(Reco_CubicBezierTessellatedEdge, 817);
typenums.Bind(Reco_CubicBezierTriangulatedFace, 818);
typenums.Bind(Reco_LeaderCurve, 822);
typenums.Bind(Reco_LeaderTerminator, 823);
typenums.Bind(Reco_LeaderDirectedCallout, 824);
// SHORT NAMES
@@ -3758,17 +3744,6 @@ Standard_Integer RWStepAP214_ReadWriteModule::CaseStep
(types(8).IsEqual(StepType(247)))) {
return 800;
}
else if ((types(1).IsEqual(StepType(7))) &&
(types(2).IsEqual(StepType(10))) &&
(types(3).IsEqual(StepType(106))) &&
(types(4).IsEqual(StepType(144))) &&
(types(5).IsEqual(StepType(823))) &&
(types(6).IsEqual(StepType(247))) &&
(types(7).IsEqual(StepType(270))) &&
(types(8).IsEqual(StepType(294))))
{
return 821;
}
}
else if (NbComp == 7) {
if ((types(1).IsEqual(StepType(48))) &&
@@ -3861,16 +3836,6 @@ Standard_Integer RWStepAP214_ReadWriteModule::CaseStep
(types(7).IsEqual(StepType(271)))) {
return 323;
}
else if ((types(1).IsEqual(StepType(4))) &&
(types(2).IsEqual(StepType(7))) &&
(types(3).IsEqual(StepType(106))) &&
(types(4).IsEqual(StepType(144))) &&
(types(5).IsEqual(StepType(822))) &&
(types(6).IsEqual(StepType(247))) &&
(types(7).IsEqual(StepType(270))))
{
return 820;
}
}
// Added by FMA
else if (NbComp == 6) {
@@ -4369,10 +4334,6 @@ Standard_Boolean RWStepAP214_ReadWriteModule::IsComplex
return Standard_True;
case 719:
return Standard_True;
case 820:
return Standard_True;
case 821:
return Standard_True;
default:
return Standard_False;
}
@@ -5131,9 +5092,6 @@ const TCollection_AsciiString& RWStepAP214_ReadWriteModule::StepType
case 816: return Reco_ComplexTriangulatedSurfaceSet;
case 817: return Reco_CubicBezierTessellatedEdge;
case 818: return Reco_CubicBezierTriangulatedFace;
case 822: return Reco_LeaderCurve;
case 823: return Reco_LeaderTerminator;
case 824: return Reco_LeaderDirectedCallout;
default : return PasReco;
}
}
@@ -5471,24 +5429,7 @@ Standard_Boolean RWStepAP214_ReadWriteModule::ComplexType(const Standard_Integer
types.Append(StepType(709));
types.Append(StepType(708));
break;
case 820:
types.Append(StepType(4));
types.Append(StepType(7));
types.Append(StepType(106));
types.Append(StepType(144));
types.Append(StepType(822));
types.Append(StepType(247));
types.Append(StepType(270));
break;
case 821:
types.Append(StepType(4));
types.Append(StepType(10));
types.Append(StepType(106));
types.Append(StepType(144));
types.Append(StepType(823));
types.Append(StepType(247));
types.Append(StepType(270));
break;
default: return Standard_False;
}
return Standard_True;
}
@@ -10753,28 +10694,7 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
aTool.ReadStep(data, num, ach, anEnt);
}
break;
case 820:
{
DeclareAndCast(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem aTool;
aTool.ReadStep(data, num, ach, anEnt);
}
break;
case 821:
{
DeclareAndCast(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem aTool;
aTool.ReadStep(data, num, ach, anEnt);
}
break;
case 824:
{
DeclareAndCast(StepVisual_LeaderDirectedCallout, anEnt, ent);
RWStepVisual_RWLeaderDirectedCallout aTool;
aTool.ReadStep(data, num, ach, anEnt);
}
break;
default:
default:
ach->AddFail("Type Mismatch when reading - Entity");
}
return;
@@ -16318,27 +16238,6 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
aTool.WriteStep(SW, anEnt);
}
break;
case 820:
{
DeclareAndCast(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem aTool;
aTool.WriteStep(SW, anEnt);
}
break;
case 821:
{
DeclareAndCast(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, anEnt, ent);
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem aTool;
aTool.WriteStep(SW, anEnt);
}
break;
case 824:
{
DeclareAndCast(StepVisual_LeaderDirectedCallout, anEnt, ent);
RWStepVisual_RWLeaderDirectedCallout aTool;
aTool.WriteStep(SW, anEnt);
}
break;
default:
return;
}

View File

@@ -6,10 +6,6 @@ RWStepVisual_RWAnnotationFillArea.cxx
RWStepVisual_RWAnnotationFillArea.hxx
RWStepVisual_RWAnnotationFillAreaOccurrence.cxx
RWStepVisual_RWAnnotationFillAreaOccurrence.hxx
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem.cxx
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem.cxx
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx
RWStepVisual_RWAnnotationOccurrence.cxx
RWStepVisual_RWAnnotationOccurrence.hxx
RWStepVisual_RWAnnotationPlane.cxx
@@ -72,8 +68,6 @@ RWStepVisual_RWFillAreaStyleColour.cxx
RWStepVisual_RWFillAreaStyleColour.hxx
RWStepVisual_RWInvisibility.cxx
RWStepVisual_RWInvisibility.hxx
RWStepVisual_RWLeaderDirectedCallout.cxx
RWStepVisual_RWLeaderDirectedCallout.hxx
RWStepVisual_RWMechanicalDesignGeometricPresentationArea.cxx
RWStepVisual_RWMechanicalDesignGeometricPresentationArea.hxx
RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation.cxx

View File

@@ -1,110 +0,0 @@
// Copyright (c) 2023 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.
#include <RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <Interface_Check.hxx>
#include <Interface_EntityIterator.hxx>
#include <StepData_StepReaderData.hxx>
#include <StepData_StepWriter.hxx>
#include <StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
//=======================================================================
//function : ReadStep
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem::ReadStep(
const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity) const
{
Standard_Integer aNum = 0;
theData->NamedForComplex("REPRESENTATION_ITEM", "RPRITM", theNum, aNum, theCheck);
// Inherited field : name
Handle(TCollection_HAsciiString) aName;
theData->ReadString(aNum, 1, "name", theCheck, aName);
theData->NamedForComplex("STYLED_ITEM", "STYITM", theNum, aNum, theCheck);
// Inherited field : styles
Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles;
Handle(StepVisual_PresentationStyleAssignment) anEnt;
Standard_Integer aSubNum = 0;
if (theData->ReadSubList(aNum, 1, "styles", theCheck, aSubNum))
{
Standard_Integer aNbParams = theData->NbParams(aSubNum);
aStyles = new StepVisual_HArray1OfPresentationStyleAssignment(1, aNbParams);
for (Standard_Integer aParamInd = 1; aParamInd <= aNbParams; aParamInd++)
{
if (theData->ReadEntity(aSubNum, aParamInd, "presentation_style_assignment", theCheck,
STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anEnt))
{
aStyles->SetValue(aParamInd, anEnt);
}
}
}
// Inherited field : item
Handle(Standard_Transient) aItem;
theData->ReadEntity(aNum, 2, "item", theCheck, STANDARD_TYPE(Standard_Transient), aItem);
// Initialization of the read entity
theEntity->Init(aName, aStyles, aItem);
}
//=======================================================================
//function : WriteStep
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem::WriteStep(
StepData_StepWriter& theSW,
const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity) const
{
theSW.StartEntity("ANNOTATION_CURVE_OCCURRENCE");
theSW.StartEntity("ANNOTATION_OCCURRENCE");
theSW.StartEntity("DRAUGHTING_ANNOTATION_OCCURRENCE");
theSW.StartEntity("GEOMETRIC_REPRESENTATION_ITEM");
theSW.StartEntity("LEADER_CURVE");
theSW.StartEntity("REPRESENTATION_ITEM");
//Inherited field : name
theSW.Send(theEntity->Name());
theSW.StartEntity("STYLED_ITEM");
// Inherited field : styles
theSW.OpenSub();
for (StepVisual_HArray1OfPresentationStyleAssignment::Iterator anIter(theEntity->Styles()->Array1());
anIter.More(); anIter.Next())
{
theSW.Send(anIter.Value());
}
theSW.CloseSub();
// Inherited field : item
theSW.Send(theEntity->Item());
}
//=======================================================================
//function : Share
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem::Share(
const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity,
Interface_EntityIterator& theIter) const
{
for (StepVisual_HArray1OfPresentationStyleAssignment::Iterator anIter(theEntity->Styles()->Array1());
anIter.More(); anIter.Next())
{
theIter.GetOneItem(anIter.Value());
}
theIter.GetOneItem(theEntity->Item());
}

View File

@@ -1,46 +0,0 @@
// Copyright (c) 2023 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 _RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile
#define _RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
class StepData_StepReaderData;
class Interface_Check;
class StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem;
class StepData_StepWriter;
class Interface_EntityIterator;
//! Read & Write Module for StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem
class RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem
{
DEFINE_STANDARD_ALLOC
public:
RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem() {};
Standard_EXPORT void ReadStep(const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity) const;
Standard_EXPORT void WriteStep(StepData_StepWriter& theSW,
const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity) const;
Standard_EXPORT void Share(const Handle(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem)& theEntity,
Interface_EntityIterator& theIter) const;
};
#endif // _RWStepVisual_RWAnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile

View File

@@ -1,119 +0,0 @@
// Copyright (c) 2023 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.
#include <RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <Interface_Check.hxx>
#include <Interface_EntityIterator.hxx>
#include <StepData_StepReaderData.hxx>
#include <StepData_StepWriter.hxx>
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
//=======================================================================
//function : ReadStep
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem::ReadStep(
const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity) const
{
Standard_Integer aNum = 0;
theData->NamedForComplex("REPRESENTATION_ITEM", "RPRITM", theNum, aNum, theCheck);
// Inherited field : name
Handle(TCollection_HAsciiString) aName;
theData->ReadString(aNum, 1, "name", theCheck, aName);
theData->NamedForComplex("STYLED_ITEM", "STYITM", theNum, aNum, theCheck);
// Inherited field : styles
Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles;
Handle(StepVisual_PresentationStyleAssignment) anEnt;
Standard_Integer aSubNum = 0;
if (theData->ReadSubList(aNum, 1, "styles", theCheck, aSubNum))
{
Standard_Integer aNbParams = theData->NbParams(aSubNum);
aStyles = new StepVisual_HArray1OfPresentationStyleAssignment(1, aNbParams);
for (Standard_Integer aParamInd = 1; aParamInd <= aNbParams; aParamInd++)
{
if (theData->ReadEntity(aSubNum, aParamInd, "presentation_style_assignment", theCheck,
STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anEnt))
{
aStyles->SetValue(aParamInd, anEnt);
}
}
}
// Inherited field : item
Handle(Standard_Transient) aItem;
theData->ReadEntity(aNum, 2, "item", theCheck, STANDARD_TYPE(Standard_Transient), aItem);
theData->NamedForComplex("TERMINATOR_SYMBOL", "STYITM", theNum, aNum, theCheck);
Handle(StepVisual_AnnotationCurveOccurrence) aTermonator;
theData->ReadEntity(aNum, 1, "annotated_curve", theCheck, STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence), aTermonator);
// Initialization of the read entity
theEntity->Init(aName, aStyles, aItem, aTermonator);
}
//=======================================================================
//function : WriteStep
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem::WriteStep(
StepData_StepWriter& theSW,
const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity) const
{
theSW.StartEntity("ANNOTATION_CURVE_OCCURRENCE");
theSW.StartEntity("ANNOTATION_SYMBOL_OCCURRENCE");
theSW.StartEntity("DRAUGHTING_ANNOTATION_OCCURRENCE");
theSW.StartEntity("GEOMETRIC_REPRESENTATION_ITEM");
theSW.StartEntity("LEADER_TERMINATOR");
theSW.StartEntity("REPRESENTATION_ITEM");
//Inherited field : name
theSW.Send(theEntity->Name());
theSW.StartEntity("STYLED_ITEM");
// Inherited field : styles
theSW.OpenSub();
for (StepVisual_HArray1OfPresentationStyleAssignment::Iterator anIter(theEntity->Styles()->Array1());
anIter.More(); anIter.Next())
{
theSW.Send(anIter.Value());
}
theSW.CloseSub();
// Inherited field : item
theSW.Send(theEntity->Item());
theSW.StartEntity("TERMINATOR_SYMBOL");
theSW.Send(theEntity->Terminator());
}
//=======================================================================
//function : Share
//purpose :
//=======================================================================
void RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem::Share(
const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity,
Interface_EntityIterator& theIter) const
{
for (StepVisual_HArray1OfPresentationStyleAssignment::Iterator anIter(theEntity->Styles()->Array1());
anIter.More(); anIter.Next())
{
theIter.GetOneItem(anIter.Value());
}
theIter.GetOneItem(theEntity->Item());
theIter.GetOneItem(theEntity->Terminator());
}

View File

@@ -1,46 +0,0 @@
// Copyright (c) 2023 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 _RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile
#define _RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
class StepData_StepReaderData;
class Interface_Check;
class StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem;
class StepData_StepWriter;
class Interface_EntityIterator;
//! Read & Write Module for StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem
class RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem
{
DEFINE_STANDARD_ALLOC
public:
RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem() {};
Standard_EXPORT void ReadStep(const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity) const;
Standard_EXPORT void WriteStep(StepData_StepWriter& theSW,
const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity) const;
Standard_EXPORT void Share(const Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem)& theEntity,
Interface_EntityIterator& theIter) const;
};
#endif // _RWStepVisual_RWAnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile

View File

@@ -1,99 +0,0 @@
// Copyright (c) 2023 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.
#include <RWStepVisual_RWLeaderDirectedCallout.hxx>
#include <Interface_Check.hxx>
#include <Interface_EntityIterator.hxx>
#include <StepData_StepReaderData.hxx>
#include <StepData_StepWriter.hxx>
#include <StepVisual_LeaderDirectedCallout.hxx>
//=======================================================================
//function : RWStepVisual_RWLeaderDirectedCallout
//purpose :
//=======================================================================
RWStepVisual_RWLeaderDirectedCallout::RWStepVisual_RWLeaderDirectedCallout() {}
//=======================================================================
//function : ReadStep
//purpose :
//=======================================================================
void RWStepVisual_RWLeaderDirectedCallout::ReadStep(const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_LeaderDirectedCallout)& theEnitity) const
{
if (!theData->CheckNbParams(theNum, 2, theCheck, "draughting_callout"))
{
return;
}
// Inherited field : name
Handle(TCollection_HAsciiString) aName;
theData->ReadString(theNum, 1, "name", theCheck, aName);
// Own field: contents
Handle(StepVisual_HArray1OfDraughtingCalloutElement) aContents;
StepVisual_DraughtingCalloutElement anEnt;
Standard_Integer aNbSub;
if (theData->ReadSubList(theNum, 2, "contents", theCheck, aNbSub))
{
Standard_Integer aNbElements = theData->NbParams(aNbSub);
aContents = new StepVisual_HArray1OfDraughtingCalloutElement(1, aNbElements);
for (Standard_Integer anInd = 1; anInd <= aNbElements; anInd++)
{
if (theData->ReadEntity(aNbSub, anInd, "content", theCheck, anEnt))
{
aContents->SetValue(anInd, anEnt);
}
}
}
// Initialisation of the read entity
theEnitity->Init(aName, aContents);
}
//=======================================================================
//function : WriteStep
//purpose :
//=======================================================================
void RWStepVisual_RWLeaderDirectedCallout::WriteStep(StepData_StepWriter& theSW,
const Handle(StepVisual_LeaderDirectedCallout)& theEnitity) const
{
// Inherited field: name
theSW.Send(theEnitity->Name());
// Own field: contents
theSW.OpenSub();
for (Standard_Integer anInd = 1; anInd <= theEnitity->NbContents(); anInd++)
{
theSW.Send(theEnitity->ContentsValue(anInd).Value());
}
theSW.CloseSub();
}
//=======================================================================
//function : Share
//purpose :
//=======================================================================
void RWStepVisual_RWLeaderDirectedCallout::Share(const Handle(StepVisual_LeaderDirectedCallout)& theEnitity,
Interface_EntityIterator& theIter) const
{
// Own field: contents
const Standard_Integer aNb = theEnitity->NbContents();
for (Standard_Integer anInd = 1; anInd <= aNb; anInd++)
{
theIter.AddItem(theEnitity->ContentsValue(anInd).Value());
}
}

View File

@@ -1,46 +0,0 @@
// Copyright (c) 2023 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 _RWStepVisual_RWLeaderDirectedCallout_HeaderFile
#define _RWStepVisual_RWLeaderDirectedCallout_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
class Interface_EntityIterator;
class StepData_StepReaderData;
class Interface_Check;
class StepVisual_LeaderDirectedCallout;
class StepData_StepWriter;
//! Read & Write Module for LeaderDirectedCallout
class RWStepVisual_RWLeaderDirectedCallout
{
DEFINE_STANDARD_ALLOC
public:
Standard_EXPORT RWStepVisual_RWLeaderDirectedCallout();
Standard_EXPORT void ReadStep(const Handle(StepData_StepReaderData)& theData,
const Standard_Integer theNum,
Handle(Interface_Check)& theCheck,
const Handle(StepVisual_LeaderDirectedCallout)& theEntity) const;
Standard_EXPORT void WriteStep(StepData_StepWriter& SW,
const Handle(StepVisual_LeaderDirectedCallout)& theEntity) const;
Standard_EXPORT void Share(const Handle(StepVisual_LeaderDirectedCallout)& theEntity,
Interface_EntityIterator& theIter) const;
};
#endif // _RWStepVisual_RWLeaderDirectedCallout_HeaderFile

View File

@@ -225,6 +225,14 @@ static Resource_KindOfLine WhatKindOfLine(OSD_File& aFile,
aToken2.Clear();
else {
Line.Remove(1,Pos-1);
const Standard_Integer aLineLength = Line.Length();
if (aLineLength >= 2)
{
if (Line.Value(aLineLength - 1) == '\r')
{
Line.Remove(aLineLength - 1);
}
}
Line.Remove(Line.Length());
aToken2 = Line;
}

View File

@@ -4692,8 +4692,8 @@ void collectRepresentationItems(const Interface_Graph& theGraph,
const Handle(StepShape_ShapeRepresentation)& theRepresentation,
NCollection_Sequence<Handle(StepRepr_RepresentationItem)>& theItems)
{
for(StepRepr_HArray1OfRepresentationItem::Iterator anIter(theRepresentation->Items()->Array1());
anIter.More(); anIter.Next())
for (StepRepr_HArray1OfRepresentationItem::Iterator anIter(theRepresentation->Items()->Array1());
anIter.More(); anIter.Next())
{
const Handle(StepRepr_RepresentationItem)& anReprItem = anIter.Value();
if (anReprItem.IsNull())

View File

@@ -47,7 +47,9 @@ class TopoDS_Shape;
//! Also supports multifile writing
class STEPCAFControl_Writer
{
public:
DEFINE_STANDARD_ALLOC
public:
//! Creates a writer with an empty

View File

@@ -34,20 +34,20 @@
// Primary definitions
#define OCC_VERSION_MAJOR 7
#define OCC_VERSION_MINOR 8
#define OCC_VERSION_MAINTENANCE 0
#define OCC_VERSION_MINOR 7
#define OCC_VERSION_MAINTENANCE 1
//! This macro must be commented in official release, and set to non-empty
//! string in other situations, to identify specifics of the version, e.g.:
//! - "dev" for development version between releases
//! - "beta..." or "rc..." for beta releases or release candidates
//! - "project..." for version containing project-specific fixes
#define OCC_VERSION_DEVELOPMENT "dev"
//#define OCC_VERSION_DEVELOPMENT "dev"
// Derived (manually): version as real and string (major.minor)
#define OCC_VERSION 7.8
#define OCC_VERSION_STRING "7.8"
#define OCC_VERSION_COMPLETE "7.8.0"
#define OCC_VERSION 7.7
#define OCC_VERSION_STRING "7.7"
#define OCC_VERSION_COMPLETE "7.7.1"
//! Derived: extended version as string ("major.minor.maintenance.dev")
#ifdef OCC_VERSION_DEVELOPMENT

View File

@@ -163,7 +163,6 @@ static Standard_CString schemaAP242DIS = "AP242_MANAGED_MODEL_BASED_3D_ENGINEERI
#include <StepGeom_Hyperbola.hxx>
#include <StepGeom_IntersectionCurve.hxx>
#include <StepVisual_Invisibility.hxx>
#include <StepVisual_LeaderDirectedCallout.hxx>
#include <StepBasic_LengthUnit.hxx>
#include <StepGeom_Line.hxx>
#include <StepBasic_LocalTime.hxx>
@@ -664,8 +663,6 @@ static Standard_CString schemaAP242DIS = "AP242_MANAGED_MODEL_BASED_3D_ENGINEERI
#include <StepVisual_CameraModelD3MultiClipping.hxx>
#include <StepVisual_CameraModelD3MultiClippingIntersection.hxx>
#include <StepVisual_CameraModelD3MultiClippingUnion.hxx>
#include <StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx>
// Added for kinematics implementation
@@ -1561,9 +1558,6 @@ StepAP214_Protocol::StepAP214_Protocol ()
types.Bind(STANDARD_TYPE(StepVisual_ComplexTriangulatedSurfaceSet), 816);
types.Bind(STANDARD_TYPE(StepVisual_CubicBezierTessellatedEdge), 817);
types.Bind(STANDARD_TYPE(StepVisual_CubicBezierTriangulatedFace), 818);
types.Bind(STANDARD_TYPE(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem), 820);
types.Bind(STANDARD_TYPE(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem), 821);
types.Bind(STANDARD_TYPE(StepVisual_LeaderDirectedCallout), 824);
}

310
src/StepVisual/FILES Normal file
View File

@@ -0,0 +1,310 @@
StepVisual_AnnotationCurveOccurrence.cxx
StepVisual_AnnotationCurveOccurrence.hxx
StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.cxx
StepVisual_AnnotationCurveOccurrenceAndGeomReprItem.hxx
StepVisual_AnnotationFillArea.cxx
StepVisual_AnnotationFillArea.hxx
StepVisual_AnnotationFillAreaOccurrence.cxx
StepVisual_AnnotationFillAreaOccurrence.hxx
StepVisual_AnnotationOccurrence.cxx
StepVisual_AnnotationOccurrence.hxx
StepVisual_AnnotationPlane.cxx
StepVisual_AnnotationPlane.hxx
StepVisual_AnnotationPlaneElement.cxx
StepVisual_AnnotationPlaneElement.hxx
StepVisual_AnnotationText.cxx
StepVisual_AnnotationText.hxx
StepVisual_AnnotationTextOccurrence.cxx
StepVisual_AnnotationTextOccurrence.hxx
StepVisual_AreaInSet.cxx
StepVisual_AreaInSet.hxx
StepVisual_AreaOrView.cxx
StepVisual_AreaOrView.hxx
StepVisual_Array1OfAnnotationPlaneElement.hxx
StepVisual_Array1OfBoxCharacteristicSelect.hxx
StepVisual_Array1OfCameraModelD3MultiClippingInterectionSelect.hxx
StepVisual_Array1OfCameraModelD3MultiClippingUnionSelect.hxx
StepVisual_Array1OfCurveStyleFontPattern.hxx
StepVisual_Array1OfDirectionCountSelect.hxx
StepVisual_Array1OfDraughtingCalloutElement.hxx
StepVisual_Array1OfFillStyleSelect.hxx
StepVisual_Array1OfInvisibleItem.hxx
StepVisual_Array1OfLayeredItem.hxx
StepVisual_Array1OfPresentationStyleAssignment.hxx
StepVisual_Array1OfPresentationStyleSelect.hxx
StepVisual_Array1OfRenderingPropertiesSelect.hxx
StepVisual_Array1OfStyleContextSelect.hxx
StepVisual_Array1OfSurfaceStyleElementSelect.hxx
StepVisual_Array1OfTextOrCharacter.hxx
StepVisual_BackgroundColour.cxx
StepVisual_BackgroundColour.hxx
StepVisual_BoxCharacteristicSelect.cxx
StepVisual_BoxCharacteristicSelect.hxx
StepVisual_CameraImage.cxx
StepVisual_CameraImage.hxx
StepVisual_CameraImage2dWithScale.cxx
StepVisual_CameraImage2dWithScale.hxx
StepVisual_CameraImage3dWithScale.cxx
StepVisual_CameraImage3dWithScale.hxx
StepVisual_CameraModel.cxx
StepVisual_CameraModel.hxx
StepVisual_CameraModelD2.cxx
StepVisual_CameraModelD2.hxx
StepVisual_CameraModelD3.cxx
StepVisual_CameraModelD3.hxx
StepVisual_CameraModelD3MultiClipping.cxx
StepVisual_CameraModelD3MultiClipping.hxx
StepVisual_CameraModelD3MultiClippingInterectionSelect.cxx
StepVisual_CameraModelD3MultiClippingInterectionSelect.hxx
StepVisual_CameraModelD3MultiClippingIntersection.cxx
StepVisual_CameraModelD3MultiClippingIntersection.hxx
StepVisual_CameraModelD3MultiClippingUnion.cxx
StepVisual_CameraModelD3MultiClippingUnion.hxx
StepVisual_CameraModelD3MultiClippingUnionSelect.cxx
StepVisual_CameraModelD3MultiClippingUnionSelect.hxx
StepVisual_CameraUsage.cxx
StepVisual_CameraUsage.hxx
StepVisual_CentralOrParallel.hxx
StepVisual_CharacterizedObjAndRepresentationAndDraughtingModel.cxx
StepVisual_CharacterizedObjAndRepresentationAndDraughtingModel.hxx
StepVisual_Colour.cxx
StepVisual_Colour.hxx
StepVisual_ColourRgb.cxx
StepVisual_ColourRgb.hxx
StepVisual_ColourSpecification.cxx
StepVisual_ColourSpecification.hxx
StepVisual_CompositeText.cxx
StepVisual_CompositeText.hxx
StepVisual_CompositeTextWithExtent.cxx
StepVisual_CompositeTextWithExtent.hxx
StepVisual_ContextDependentInvisibility.cxx
StepVisual_ContextDependentInvisibility.hxx
StepVisual_ContextDependentOverRidingStyledItem.cxx
StepVisual_ContextDependentOverRidingStyledItem.hxx
StepVisual_CurveStyle.cxx
StepVisual_CurveStyle.hxx
StepVisual_CurveStyleFont.cxx
StepVisual_CurveStyleFont.hxx
StepVisual_CurveStyleFontPattern.cxx
StepVisual_CurveStyleFontPattern.hxx
StepVisual_CurveStyleFontSelect.cxx
StepVisual_CurveStyleFontSelect.hxx
StepVisual_DirectionCountSelect.cxx
StepVisual_DirectionCountSelect.hxx
StepVisual_DraughtingAnnotationOccurrence.cxx
StepVisual_DraughtingAnnotationOccurrence.hxx
StepVisual_DraughtingCallout.cxx
StepVisual_DraughtingCallout.hxx
StepVisual_DraughtingCalloutElement.cxx
StepVisual_DraughtingCalloutElement.hxx
StepVisual_DraughtingModel.cxx
StepVisual_DraughtingModel.hxx
StepVisual_DraughtingPreDefinedColour.cxx
StepVisual_DraughtingPreDefinedColour.hxx
StepVisual_DraughtingPreDefinedCurveFont.cxx
StepVisual_DraughtingPreDefinedCurveFont.hxx
StepVisual_ExternallyDefinedCurveFont.cxx
StepVisual_ExternallyDefinedCurveFont.hxx
StepVisual_ExternallyDefinedTextFont.cxx
StepVisual_ExternallyDefinedTextFont.hxx
StepVisual_FillAreaStyle.cxx
StepVisual_FillAreaStyle.hxx
StepVisual_FillAreaStyleColour.cxx
StepVisual_FillAreaStyleColour.hxx
StepVisual_FillStyleSelect.cxx
StepVisual_FillStyleSelect.hxx
StepVisual_FontSelect.cxx
StepVisual_FontSelect.hxx
StepVisual_HArray1OfAnnotationPlaneElement.hxx
StepVisual_HArray1OfBoxCharacteristicSelect.hxx
StepVisual_HArray1OfCameraModelD3MultiClippingInterectionSelect.hxx
StepVisual_HArray1OfCameraModelD3MultiClippingUnionSelect.hxx
StepVisual_HArray1OfCurveStyleFontPattern.hxx
StepVisual_HArray1OfDirectionCountSelect.hxx
StepVisual_HArray1OfDraughtingCalloutElement.hxx
StepVisual_HArray1OfFillStyleSelect.hxx
StepVisual_HArray1OfInvisibleItem.hxx
StepVisual_HArray1OfLayeredItem.hxx
StepVisual_HArray1OfPresentationStyleAssignment.hxx
StepVisual_HArray1OfPresentationStyleSelect.hxx
StepVisual_HArray1OfRenderingPropertiesSelect.hxx
StepVisual_HArray1OfStyleContextSelect.hxx
StepVisual_HArray1OfSurfaceStyleElementSelect.hxx
StepVisual_HArray1OfTextOrCharacter.hxx
StepVisual_Invisibility.cxx
StepVisual_Invisibility.hxx
StepVisual_InvisibilityContext.cxx
StepVisual_InvisibilityContext.hxx
StepVisual_InvisibleItem.cxx
StepVisual_InvisibleItem.hxx
StepVisual_LayeredItem.cxx
StepVisual_LayeredItem.hxx
StepVisual_MarkerMember.cxx
StepVisual_MarkerMember.hxx
StepVisual_MarkerSelect.cxx
StepVisual_MarkerSelect.hxx
StepVisual_MarkerType.hxx
StepVisual_MechanicalDesignGeometricPresentationArea.cxx
StepVisual_MechanicalDesignGeometricPresentationArea.hxx
StepVisual_MechanicalDesignGeometricPresentationRepresentation.cxx
StepVisual_MechanicalDesignGeometricPresentationRepresentation.hxx
StepVisual_NullStyle.hxx
StepVisual_NullStyleMember.cxx
StepVisual_NullStyleMember.hxx
StepVisual_OverRidingStyledItem.cxx
StepVisual_OverRidingStyledItem.hxx
StepVisual_PlanarBox.cxx
StepVisual_PlanarBox.hxx
StepVisual_PlanarExtent.cxx
StepVisual_PlanarExtent.hxx
StepVisual_PointStyle.cxx
StepVisual_PointStyle.hxx
StepVisual_PreDefinedColour.cxx
StepVisual_PreDefinedColour.hxx
StepVisual_PreDefinedCurveFont.cxx
StepVisual_PreDefinedCurveFont.hxx
StepVisual_PreDefinedItem.cxx
StepVisual_PreDefinedItem.hxx
StepVisual_PreDefinedTextFont.cxx
StepVisual_PreDefinedTextFont.hxx
StepVisual_PresentationArea.cxx
StepVisual_PresentationArea.hxx
StepVisual_PresentationLayerAssignment.cxx
StepVisual_PresentationLayerAssignment.hxx
StepVisual_PresentationLayerUsage.cxx
StepVisual_PresentationLayerUsage.hxx
StepVisual_PresentationRepresentation.cxx
StepVisual_PresentationRepresentation.hxx
StepVisual_PresentationRepresentationSelect.cxx
StepVisual_PresentationRepresentationSelect.hxx
StepVisual_PresentationSet.cxx
StepVisual_PresentationSet.hxx
StepVisual_PresentationSize.cxx
StepVisual_PresentationSize.hxx
StepVisual_PresentationSizeAssignmentSelect.cxx
StepVisual_PresentationSizeAssignmentSelect.hxx
StepVisual_PresentationStyleAssignment.cxx
StepVisual_PresentationStyleAssignment.hxx
StepVisual_PresentationStyleByContext.cxx
StepVisual_PresentationStyleByContext.hxx
StepVisual_PresentationStyleSelect.cxx
StepVisual_PresentationStyleSelect.hxx
StepVisual_PresentationView.cxx
StepVisual_PresentationView.hxx
StepVisual_PresentedItem.cxx
StepVisual_PresentedItem.hxx
StepVisual_PresentedItemRepresentation.cxx
StepVisual_PresentedItemRepresentation.hxx
StepVisual_RenderingPropertiesSelect.cxx
StepVisual_RenderingPropertiesSelect.hxx
StepVisual_RepositionedTessellatedGeometricSet.hxx
StepVisual_RepositionedTessellatedGeometricSet.cxx
StepVisual_RepositionedTessellatedItem.hxx
StepVisual_RepositionedTessellatedItem.cxx
StepVisual_ShadingSurfaceMethod.hxx
StepVisual_StyleContextSelect.cxx
StepVisual_StyleContextSelect.hxx
StepVisual_StyledItem.cxx
StepVisual_StyledItem.hxx
StepVisual_StyledItemTarget.cxx
StepVisual_StyledItemTarget.hxx
StepVisual_SurfaceSide.hxx
StepVisual_SurfaceSideStyle.cxx
StepVisual_SurfaceSideStyle.hxx
StepVisual_SurfaceStyleBoundary.cxx
StepVisual_SurfaceStyleBoundary.hxx
StepVisual_SurfaceStyleControlGrid.cxx
StepVisual_SurfaceStyleControlGrid.hxx
StepVisual_SurfaceStyleElementSelect.cxx
StepVisual_SurfaceStyleElementSelect.hxx
StepVisual_SurfaceStyleFillArea.cxx
StepVisual_SurfaceStyleFillArea.hxx
StepVisual_SurfaceStyleParameterLine.cxx
StepVisual_SurfaceStyleParameterLine.hxx
StepVisual_SurfaceStyleReflectanceAmbient.cxx
StepVisual_SurfaceStyleReflectanceAmbient.hxx
StepVisual_SurfaceStyleRendering.cxx
StepVisual_SurfaceStyleRendering.hxx
StepVisual_SurfaceStyleRenderingWithProperties.cxx
StepVisual_SurfaceStyleRenderingWithProperties.hxx
StepVisual_SurfaceStyleSegmentationCurve.cxx
StepVisual_SurfaceStyleSegmentationCurve.hxx
StepVisual_SurfaceStyleSilhouette.cxx
StepVisual_SurfaceStyleSilhouette.hxx
StepVisual_SurfaceStyleTransparent.cxx
StepVisual_SurfaceStyleTransparent.hxx
StepVisual_SurfaceStyleUsage.cxx
StepVisual_SurfaceStyleUsage.hxx
StepVisual_Template.cxx
StepVisual_Template.hxx
StepVisual_TemplateInstance.cxx
StepVisual_TemplateInstance.hxx
StepVisual_TextLiteral.cxx
StepVisual_TextLiteral.hxx
StepVisual_TextOrCharacter.cxx
StepVisual_TextOrCharacter.hxx
StepVisual_TextPath.hxx
StepVisual_TextStyle.cxx
StepVisual_TextStyle.hxx
StepVisual_TextStyleForDefinedFont.cxx
StepVisual_TextStyleForDefinedFont.hxx
StepVisual_TextStyleWithBoxCharacteristics.cxx
StepVisual_TextStyleWithBoxCharacteristics.hxx
StepVisual_ViewVolume.cxx
StepVisual_ViewVolume.hxx
StepVisual_TessellatedAnnotationOccurrence.hxx
StepVisual_TessellatedAnnotationOccurrence.cxx
StepVisual_TessellatedItem.hxx
StepVisual_TessellatedItem.cxx
StepVisual_TessellatedGeometricSet.hxx
StepVisual_TessellatedGeometricSet.cxx
StepVisual_TessellatedCurveSet.hxx
StepVisual_TessellatedCurveSet.cxx
StepVisual_CoordinatesList.hxx
StepVisual_CoordinatesList.cxx
StepVisual_Array1OfTessellatedEdgeOrVertex.hxx
StepVisual_Array1OfTessellatedStructuredItem.hxx
StepVisual_ComplexTriangulatedFace.cxx
StepVisual_ComplexTriangulatedFace.hxx
StepVisual_ComplexTriangulatedSurfaceSet.cxx
StepVisual_ComplexTriangulatedSurfaceSet.hxx
StepVisual_CubicBezierTessellatedEdge.cxx
StepVisual_CubicBezierTessellatedEdge.hxx
StepVisual_CubicBezierTriangulatedFace.cxx
StepVisual_CubicBezierTriangulatedFace.hxx
StepVisual_EdgeOrCurve.cxx
StepVisual_EdgeOrCurve.hxx
StepVisual_FaceOrSurface.cxx
StepVisual_FaceOrSurface.hxx
StepVisual_HArray1OfTessellatedEdgeOrVertex.hxx
StepVisual_HArray1OfTessellatedStructuredItem.hxx
StepVisual_PathOrCompositeCurve.cxx
StepVisual_PathOrCompositeCurve.hxx
StepVisual_TessellatedConnectingEdge.cxx
StepVisual_TessellatedConnectingEdge.hxx
StepVisual_TessellatedEdge.cxx
StepVisual_TessellatedEdge.hxx
StepVisual_TessellatedEdgeOrVertex.cxx
StepVisual_TessellatedEdgeOrVertex.hxx
StepVisual_TessellatedFace.cxx
StepVisual_TessellatedFace.hxx
StepVisual_TessellatedPointSet.cxx
StepVisual_TessellatedPointSet.hxx
StepVisual_TessellatedShapeRepresentation.cxx
StepVisual_TessellatedShapeRepresentation.hxx
StepVisual_TessellatedShapeRepresentationWithAccuracyParameters.cxx
StepVisual_TessellatedShapeRepresentationWithAccuracyParameters.hxx
StepVisual_TessellatedShell.cxx
StepVisual_TessellatedShell.hxx
StepVisual_TessellatedSolid.cxx
StepVisual_TessellatedSolid.hxx
StepVisual_TessellatedStructuredItem.cxx
StepVisual_TessellatedStructuredItem.hxx
StepVisual_TessellatedSurfaceSet.cxx
StepVisual_TessellatedSurfaceSet.hxx
StepVisual_TessellatedVertex.cxx
StepVisual_TessellatedVertex.hxx
StepVisual_TessellatedWire.cxx
StepVisual_TessellatedWire.hxx
StepVisual_TriangulatedFace.cxx
StepVisual_TriangulatedFace.hxx

View File

@@ -1,22 +0,0 @@
// Copyright (c) 2023 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.
#include <StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem.hxx>
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem, StepVisual_AnnotationCurveOccurrence)
//=======================================================================
//function : StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem
//purpose :
//=======================================================================
StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem::StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem() {}

View File

@@ -1,34 +0,0 @@
// Copyright (c) 2023 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 _StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile
#define _StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile
#include <Standard.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
//! Added for Dimensional Tolerances
//! Complex STEP entity AnnotationOccurrence & AnnotationOccurrence
//! & DraughtingAnnotationOccurrence & GeometricRepresentationItem
//! & LeaderCurve & RepresentationItem & StyledItem
class StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem : public StepVisual_AnnotationCurveOccurrence
{
public:
Standard_EXPORT StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem();
DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem, StepVisual_AnnotationCurveOccurrence)
};
#endif // _StepVisual_AnnotationLeaderCurveOccurrenceAndGeomReprItem_HeaderFile

View File

@@ -1,35 +0,0 @@
// Copyright (c) 2023 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.
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, StepVisual_AnnotationCurveOccurrence)
//=======================================================================
//function : StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem
//purpose :
//=======================================================================
StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem::StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem() {}
//=======================================================================
//function : Init
//purpose :
//=======================================================================
void StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem::Init(const Handle(TCollection_HAsciiString)& theName,
const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles,
const Handle(Standard_Transient)& theItem,
const Handle(StepVisual_AnnotationCurveOccurrence)& theAnnotatedTerminator)
{
StepVisual_StyledItem::Init(theName, theStyles, theItem);
myAnnotatedTerminator = theAnnotatedTerminator;
}

View File

@@ -1,35 +0,0 @@
// Copyright (c) 2023 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.
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, StepVisual_AnnotationOccurrence)
//=======================================================================
//function : StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem
//purpose :
//=======================================================================
StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem::StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem() {}
//=======================================================================
//function : Init
//purpose :
//=======================================================================
void StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem::Init(const Handle(TCollection_HAsciiString)& theName,
const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles,
const Handle(Standard_Transient)& theItem,
const Handle(StepVisual_AnnotationCurveOccurrence)& theAnnotatedTerminator)
{
StepVisual_StyledItem::Init(theName, theStyles, theItem);
myAnnotatedTerminator = theAnnotatedTerminator;
}

View File

@@ -1,46 +0,0 @@
// Copyright (c) 2023 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 _StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile
#define _StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile
#include <Standard.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
//! Added for Dimensional Tolerances
//! Complex STEP entity AnnotationOccurrence & AnnotationSymbolOccurrence
//! & DraughtingAnnotationOccurrence & GeometricRepresentationItem
//! & LeaderTerminator & RepresentationItem & StyledItem
class StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem : public StepVisual_AnnotationOccurrence
{
public:
Standard_EXPORT StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem();
Standard_EXPORT void Init(const Handle(TCollection_HAsciiString)& theName,
const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles,
const Handle(Standard_Transient)& theItem,
const Handle(StepVisual_AnnotationCurveOccurrence)& theAnnotatedTerminator);
const Handle(StepVisual_AnnotationCurveOccurrence)& Terminator() const { return myAnnotatedTerminator; }
void SetTerminator(const Handle(StepVisual_AnnotationCurveOccurrence)& theAnnotatedTerminator) { myAnnotatedTerminator = theAnnotatedTerminator; }
DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, StepVisual_AnnotationOccurrence)
private:
Handle(StepVisual_AnnotationCurveOccurrence) myAnnotatedTerminator;
};
#endif // _StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem_HeaderFile

View File

@@ -14,11 +14,9 @@
// commercial license or contractual agreement.
#include <StepVisual_DraughtingCalloutElement.hxx>
#include <Interface_Macros.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
#include <StepVisual_AnnotationFillAreaOccurrence.hxx>
#include <StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem.hxx>
#include <StepVisual_AnnotationTextOccurrence.hxx>
#include <StepVisual_TessellatedAnnotationOccurrence.hxx>
@@ -26,12 +24,14 @@
//function : StepVisual_DraughtingCalloutElement
//purpose :
//=======================================================================
StepVisual_DraughtingCalloutElement::StepVisual_DraughtingCalloutElement() {}
StepVisual_DraughtingCalloutElement::StepVisual_DraughtingCalloutElement () { }
//=======================================================================
//function : CaseNum
//purpose :
//purpose :
//=======================================================================
Standard_Integer StepVisual_DraughtingCalloutElement::CaseNum(const Handle(Standard_Transient)& ent) const
{
if (ent.IsNull()) return 0;
@@ -39,51 +39,17 @@ Standard_Integer StepVisual_DraughtingCalloutElement::CaseNum(const Handle(Stand
if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationTextOccurrence))) return 2;
if (ent->IsKind(STANDARD_TYPE(StepVisual_TessellatedAnnotationOccurrence))) return 3;
if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationFillAreaOccurrence))) return 4;
if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem))) return 5;
return 0;
}
//=======================================================================
//function : AnnotationCurveOccurrence
//purpose :
//=======================================================================
Handle(StepVisual_AnnotationCurveOccurrence) StepVisual_DraughtingCalloutElement::AnnotationCurveOccurrence() const
{
return GetCasted(StepVisual_AnnotationCurveOccurrence, Value());
}
{ return GetCasted(StepVisual_AnnotationCurveOccurrence,Value()); }
//=======================================================================
//function : TessellatedAnnotationOccurrence
//purpose :
//=======================================================================
Handle(StepVisual_TessellatedAnnotationOccurrence) StepVisual_DraughtingCalloutElement::TessellatedAnnotationOccurrence() const
{
return GetCasted(StepVisual_TessellatedAnnotationOccurrence, Value());
}
{ return GetCasted(StepVisual_TessellatedAnnotationOccurrence,Value()); }
//=======================================================================
//function : AnnotationTextOccurrence
//purpose :
//=======================================================================
Handle(StepVisual_AnnotationTextOccurrence) StepVisual_DraughtingCalloutElement::AnnotationTextOccurrence() const
{
return GetCasted(StepVisual_AnnotationTextOccurrence, Value());
}
{ return GetCasted(StepVisual_AnnotationTextOccurrence, Value()); }
//=======================================================================
//function : AnnotationFillAreaOccurrence
//purpose :
//=======================================================================
Handle(StepVisual_AnnotationFillAreaOccurrence) StepVisual_DraughtingCalloutElement::AnnotationFillAreaOccurrence() const
{
return GetCasted(StepVisual_AnnotationFillAreaOccurrence, Value());
}
//=======================================================================
//function : AnnotationLeaderTerminatorOccurrence
//purpose :
//=======================================================================
Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem) StepVisual_DraughtingCalloutElement::AnnotationLeaderTerminatorOccurrence() const
{
return GetCasted(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem, Value());
}
{ return GetCasted(StepVisual_AnnotationFillAreaOccurrence, Value()); }

View File

@@ -25,7 +25,6 @@
class Standard_Transient;
class StepVisual_AnnotationCurveOccurrence;
class StepVisual_AnnotationFillAreaOccurrence;
class StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem;
class StepVisual_AnnotationTextOccurrence;
class StepVisual_TessellatedAnnotationOccurrence;
@@ -43,7 +42,6 @@ public:
//! 2 -> AnnotationTextOccurrence
//! 3 -> TessellatedAnnotationOccurrence
//! 4 -> AnnotationFillAreaOccurrence
//! 5 -> AnnotationLeaderTerminatorOccurrence
//! 0 else
Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const;
@@ -58,9 +56,5 @@ public:
//! returns Value as a AnnotationFillAreaOccurrence
Standard_EXPORT Handle(StepVisual_AnnotationFillAreaOccurrence) AnnotationFillAreaOccurrence() const;
//! returns Value as a AnnotationLeaderTerminatorOccurrence
Standard_EXPORT Handle(StepVisual_AnnotationLeaderTerminatorOccurrenceAndGeomReprItem) AnnotationLeaderTerminatorOccurrence() const;
};
#endif // StepVisual_DraughtingCalloutElement

View File

@@ -1,22 +0,0 @@
// Copyright (c) 2023 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.
#include <StepVisual_LeaderDirectedCallout.hxx>
IMPLEMENT_STANDARD_RTTIEXT(StepVisual_LeaderDirectedCallout, StepVisual_DraughtingCallout)
//=======================================================================
//function : StepVisual_LeaderDirectedCallout
//purpose :
//=======================================================================
StepVisual_LeaderDirectedCallout::StepVisual_LeaderDirectedCallout () {}

View File

@@ -1,28 +0,0 @@
// Copyright (c) 2023 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 _StepVisual_LeaderDirectedCallout_HeaderFile
#define _StepVisual_LeaderDirectedCallout_HeaderFile
#include <StepVisual_DraughtingCallout.hxx>
class StepVisual_LeaderDirectedCallout : public StepVisual_DraughtingCallout
{
public:
//! Returns a LeaderDirectedCallout
Standard_EXPORT StepVisual_LeaderDirectedCallout();
DEFINE_STANDARD_RTTIEXT(StepVisual_LeaderDirectedCallout, StepVisual_DraughtingCallout)
};
#endif // _StepVisual_LeaderDirectedCallout_HeaderFile

View File

@@ -1,6 +1,3 @@
puts "TODO CR23671 Linux: Error"
puts "TODO CR23671 Linux: Draw_Failure: Could not open"
puts "============"
puts "CR23671"
puts "============"

16
tests/bugs/iges/bug33327 Normal file
View File

@@ -0,0 +1,16 @@
puts "============"
puts "0033327: Data Exchange, IGES Import - SubfigureDef can't read string"
puts "============"
pload DCAF
Close D -silent
ReadIges D [locate_data_file "bug33327.igs"]
vclear
vinit View1
XDisplay -dispMode 1 D
vfit
vdump "$imagedir/${casename}_src.png"
Close D

View File

@@ -0,0 +1,15 @@
puts "============"
puts "0033264: Modeling Algorithms - Result of section operation is incomplete"
puts "============"
puts ""
restore [locate_data_file bug33264_1.brep] srf1
restore [locate_data_file bug33264_2.brep] srf2
bsection res srf1 srf2
checknbshapes res -vertex 44 -edge 43
checkprops res -l 51.3377
checksection res
checkview -display res -2d -path ${imagedir}/${test_image}.png

View File

@@ -4,7 +4,7 @@ puts "===================================="
puts ""
pload DCAF
Close D -silent
catch {Close D}
param "read.stepcaf.subshapes.name" 1