& Products

Open CASCADE Technologyand Products version 7.2.0 Overview 5 00

7.1.0. release minor over fixes andbug improvements features, new

OpenCASCADE Technology& Products

Open CASCADE

www.opencascade.

Release Notes

and and Products 7.2.0 Version

com

Copyright © 2017 by OPEN CASCADE Page 1

Technology

than more includes which release, a minor is

of 68

Open CASCADE Technology & Products

Data Exchang Data Modeling Samples system Test Application Configuration Highlights

OpenCASCADE Technology& Products

New sample for usage of 3D Viewer on iOS on Viewer 3D of usage for sample New Interface to connect interpreter DRAW to user applications Possibility to add custom counters Refactored and Support of transparencyas part of colorspecification in XDE Support data of PMI without semantics in STEP import and export Optimized update of assembliesXDE in Support of annotations, Option for efficient display on high Multiple improvements Path in Tracing engine Possibility to customize display of hatching and selection highlight Extended features of color scale presentation Order Error/WarningNew reporting system in Boolean Operationscomponent optionNew “Glue” in the family of Boolean algorithms algorithmNew Proper setting of regularity on edgesconnecting surfaces smooth (e.g.seam edges) Specialized offset algorithm for smooth shells Optimization of surface intersection and otheralgorithms Support of files greater 2 than G ShapeSchema Restored possibility to write shapes in legacy persistence format (CSFDB, Possibilitydocument to save format in OCAF XML compatible 6.7+ OCCT with Dedicatedattribute storage for of triangulations CMake option to accelerate build by use of precompiled headers Support of VisualStudio 2017 others Framework

e

-

independent transparency rasterization within rendering

)

optimized read STL / write module BOPAlgo_Splitter www.opencascade.

andsaved views clipping planesXDESTEP in and

persistence binary in iB

- density screens with low with screens density

com allowing to splitshapes intersectionby with

Copyright © 2017 by OPEN CASCADE Page 2

- end graphic cards

of of

68

Open CASCADE Technology & Products

Pre and Platforms Supported Modifications New features

Inspector Video recording with FFmpeg Improved Dedicated offset algorithm for smooth shells Splitting operation Gluing operation headers Precompiled Support of applications using old persistence (ShapeSchema) Added Documentation Coding Configuration Samples Draw D Visualization Healing Shape Modeling Algorithms Modeling Data Application Framework Foundation Classes

Exchange ata Point Cloud Rendering Cloud Point Rendering Volume (PMIVis) data PMI for tools Visualization Geodesic Advanced Samples & Tools Unfolding Library ScatteredSurfaces Points from Framework Mesh Mesh Express Detection Collision Canonical Recognition BestFit JT Import / Export (TKJT) Import Export / Import DXF ACIS

OpenCASCADE Technology& Products

-

- value components

SAT Import/Export SAT

handling of translucent objects in Viewer 3D

www.opencascade.

-

requisites ofContents Table

com

Copyright © 2017 by OPEN CASCADE Page 3

of 68

68 58 60 67 67 66 64 63 62 59 58 58 56 53 46 65 60 60 59 49 14 13 11 62 59 32 31 48 44 9 4 6 5 6 4 4 4 9 4 5

Open CASCADE Technology & Products

SetGlue(BOPAlgo_GlueEnum) method the to call necessary it is the operation for option the Gluing set To een implemented as BOPAlgo_GlueEnum as implemented been has option Gluing The algorithms. the of robustness the improving thus and faces tangential of intersections of in computation errors avoiding but also time of up 90% to saving only not Gluing allows cases some In samples. code and details more for Guide Upgrade See fsdwrite StdStorage by package provided is functionality restored The 7.2.0. OCCT in restored been has earlier and 6.9.1 in OCCT algorithm new The operation Splitting work: of modes two supports option Gluing The time - Face skipping allows option glue the Using overlapping. or touching when cases for intended is option This overlapping. or touching just are but other, each with interfere really donot arguments the where cases special the for algorithms the of part intersection the of computation up the speed to designed been option has This operations. Builder and Cells Maker Volume Section, Boolean, Fuse, General as such Component, Boolean in algorithms the for option new a is mode Gluing The operation Gluing created files intermediate of the size of increase to considerable leads also it that however Note configuration. and hardware by- 20 OCCT of time compile reducing allows headers precompiled of Use BUILD_USE_PCH flag CMake set default; by disabled is It scripts. in CMake provided is building faster for headers precompiled use to option The headers Precompiled by implemented format in old shapes write and read to possibility The (ShapeSchema) persistence old using of applications Support features New algorithm. Splitter the in available also are support history and mode gluing , Fuse General the of options All result. the to added be will group first part split the only but shapes, input all split and intersect will algorithm The (Tools). shapes of group by other the (Objects) shapes of group the split to needed is it when useful is algorithm . . . . . - steps. consuming BOPAlgo_GlueFull BOPAlgo_GlueFull BOPAlgo_GlueShift BOPAlgo_GlueOff most performance gain. performance most all mode this Using the result. in be split will not case in this faces The interferences. Shapes with partial with Shapes Vertex also skips algorithm the mode this In coincidence. full with Shapes OpenCASCADE Technology& Products

usage. its of example as be consulted can

BOPAlgo_Splitter

- 1.5 additional (requiring build the during by compiler

- Face skips algorithm the mode this In coincidence.

-

default value for the algorithms, Gluing is switched off; switched is Gluing algorithms, the for value default

-

-

tion for shapes with full coincidence. full with shapes for tion op Glue www.opencascade. shapes); (shifted coincidence partial with shapes for option Glue

with the needed value. value. needed the with mode, processing safe mode, fuzzy mode, processing parallel as such

faces of arguments do not intersect each other, but can be only only be can but other, each intersect donot arguments of faces to enable it. enable to The in OCCT. been added has operation fuse General on based

com

Copyright © 2017 by OPEN CASCADE Page 4

enumeration

commands DRAW . Storage_ShapeSchema Face intersections, one of the most the most of one intersections, Face

40% depending on the compiler compiler the on depending 40% Face intersections. Face space). disk of GiB 2

the with

s of the shapes from the from the shapes of s

- - Edge and Face

following:

ows getting the the getting ows fsdread

of of

component component

68

Face Face

and

Open CASCADE Technology & Products

PerformBySimple the than faster works and robust is more algorithm new the satisfied, is condition this one. When input the as topology same the has shell offset resulting the hence point, any at curvature than less is distance offset the and connected, changes: key two are There in Viewer objects 3D of handling translucent Improved This to creat algorithm New Dedicated Order Blended Lists). Weighted Linked using OIT Peeling, (Depth algorithms OIT intensive computationally more order between is compromise a nice algorithm this Still, all. at objects displayed of order the on depend not does it that sense in the correct parts andtheir objects transparent that Note objects). of order on just not (i.e. fragments and triangles transparent resul blending when approach, rendering transparency dependent Order Blended Weighted

. . -

3.2+). ES (OpenGL hardware mobile for available also is algorithm Transparency Independent Graphic3d_RTM_BLEND_OIT Graphic3d_RenderingParams::TransparencyMethod flag the by is controlled algorithm the of Activation transparent and opaque presentation groups within a single interactive object. interactive single a within groups presentation opaque and transparent possibl now it is and moreover presentations, such of rendering proper for application at priority presentation to manage need no more is there that means, This presentations. automatic now viewer The Order Blended Weighted class in available option is OpenCASCADE Technology& Products ,

of display of order different by caused artifacts common of rid getting allows algorithm this while

shells offset forsmooth algorithm topology). of changes possible handle to tries (that algorithm default

Figure Figure method as available is algorithm existing previously (); e

in works shells smooth of offsets - Independent Transparency algorithm eliminates most obvious artifacts of order of artifacts obvious most eliminates algorithm Transparency Independent

1

:

order Usual www.opencascade. ally postpones translucent presentations to be rendered right after opaque opaque after right to be rendered presentations translucent postpones ally -

(individual triangles and even fragments), the resulting presentation is not not is presentation resulting the fragments), and even triangles (individual implemented. been has algorithm (OIT) Transparency Independent

.

- - transparency dependent

BRepOffsetAPI_MakeOffset

com

Copyright © 2017 by OPEN CASCADE Page 5 - dependent blending (producing art (producing blending dependent

the

well and smooth is shell the that assumption

, which can be set to to beset can which , see triangle artifacts triangle see

t depends on the rendering order of of order rendering onthe depends t

PerformByJoin

Shape

method new as

ifacts) and other and other ifacts) ().

combine e to

of 68

-

Open CASCADE Technology & Products

their applications their in occur that situations analyze to means effective as applications, based OCCT of viewer OCCT model, data

New dependency of TKService of dependency New https://ffmpeg.org/ video: decoding and encoding for The New Inspector New class with FFmpeg recording Video yet). provided is capturing live (no file video into animation Viewer command Draw Harness al patenting allowing law with in countries issues property intellectual other terms license different under configured be can (FFmpeg license the framework FFmpeg using file video in a sequence image

. . . Inspector Inspector Qt and/or shape. and/or There is a new INSPECTOR a new is There application inspect and file, STEP or BREP, format), xbf application standalone As - a plug as demand on launched be can tool the of instance An command command data model. data - based OpenCASCADE Technology& Products

Image_VideoRecorder

variants: in be three can used Inspector tinspector providing introspection to the current state of the application data model and viewer. and model data application the of state current the to introspection providing

Figure librar

vanimation and Modeling Data and Modeling

y 2

www.opencascade. : s provide allowing

Weighted blended order blended Weighted

TInspectorEXE to attention pay should distributors Application optional. is FFmpeg from

plugin to be loaded i loaded to be plugin within been introduced has

– anoption with extended been has configuring and starting low inspect interactively to functionality

.

Th is com

component component i t allows loading arbitrary OCAF data file (in cbf, xml, or xml, cbf, (in file data OCAF arbitrary loading allows t internal the ing

Copyright © 2017 by OPEN CASCADE Page 6 - independent transparency independent n DRAW (on Windows platform only). It contains contains only). It platform (on Windows DRAW n -

.

cross source open the leading

is

TKService

intended as debugging tool for developers developers for tool debugging as intended the

d contained the of structure Inspector Inspector -

- and LGPL GPL including gorithms.

OCCT the to attached in

toolkit. This tool allows saving saving tool allows This toolkit. record

internal DRAW to attached - level content of the OCAF OCAF the of content level

saving predefined 3D 3D predefined saving

- platform solution solution platform

of 68 ata model model ata only) and

.

-

based based

Open CASCADE Technology & Products

three Currently

DFBrowser ......

show content of OCAF in tree view; tree in OCAF of content show process provide search of Label (by entry) and Attribute (by type name); type (by Attribute and entry) (by Label of search provide attributes) OCCT all of 75% about it covers moment the (For attributes. OCAF of properties show export shape of attribute into BREP or ShapeView or BREP into attribute of shape export View; 3D in attribute in stored shape for presentation visualize and create highli item; selected Previous/Next to go to possibility with line in navigation item view tree selected to path show Lab of method Dump the of result show . attribute acustom for content panel property attribute own implement and design OpenCASCADE Technology& Products

- referencing for reference ght allows to:

plugins plugins XCAF. Bin, Xml, formats: document OCAF of types all

provided. are

www.opencascade.

Figure

attributes in the tree view; tree the in attributes

el and Attribute in text view; text in Attribute and el 3 :

DFBrowser

com

Copyright © 2017 by OPEN CASCADE Page 7

plugin; below) described be (will

plugin

of 68

;

Open CASCADE Technology & Products

Inspector of Building ShapeView VInspector ......

show selection entities of presentation and properties of the entities; the of properties and presentation of entities selection show presentations; of properties some show AIS_InteractiveContext in presentations of list show show some properties of shape component (e.g. length for Edge, coordinates for Vertex); for coordinates Edge, for length (e.g. component shape of properties some show show BREP to file. item selected of shape export view; tree in it by selection View in shape each visualize view tree the in entities corresponding the highlight through context in selection current the show presentations select/deselect OpenCASCADE Technology& Products

allows to: TopoDS_Shape

to: allows

BUILD_Inspector BUILD_Inspector flag set default; by disabled is

- sub component www.opencascade.

buttons; corresponding using context the in entities or Figure Figure Figure

shapes;

4

5 :

: VInspector

Shap

com

eView

Copyright © 2017 by OPEN CASCADE Page 8

plugin

plugin

view; tree in

buil to in CMake

d it d

.

of 68

.

Open CASCADE Technology & Products

Classes Foundation Modifications 26937 28240 28217 28186 28355 28184 27345

OpenCASCADE Technology& Products

available already is index this when cases no is BSpline of index span for search The Summary: CLang). 14+, ICC 4.8+, GCC 14+, (MSVC thread_local keyword C++11 support that compilers raised last to the handle holding variable Static crashes. sporadic Summary: operator. equality without types with this using class NCollection_List::Contains() Methods usage. Summary: class base direct the B that is ensures check the on, andlater 4.7 version compiler GCC For class. base its B is and defined, DEFINE_STANDARD_RTTI*(A,B ile Comp compilation. during recognized Summary: library. of OSD_Environment::Value( on Windows. value Summary: mechanism: handling exception in introduced been have modifications following The Summary: ▪ ▪ ▪ ▪ ▪ ▪ _wgetenv()

A. of

- Non method Empty Method Method Method Macro mechanism of exception transfer. exception of mechanism

- time checks ( checks time

Eliminate Eliminate NCollection_List OSD_Environment Avoid redundant search for span index in evaluation of BSpline cache. BSpline of evaluation in index span for search redundant Avoid Error handling is not thread safe and causing memory corruption and and corruption memory causing and safe thread not is handling Error Stating wrong parent class in DEFINE_STANDARD_RTTIEXT is not not is DEFINE_STANDARD_RTTIEXT in class parent wrong Stating

operable methods from NCollection from methods operable

NO_CXX_EXCEPTION Standard_Failure::Caught() Raise()

runtime C by cached value variable an outdated provide might which ,

Standard_Failure::Caught() www.opencascade.

NO_CXX_EXCEPTION NCollection_Map::ChangeValue

statement. throw explicit by replaced NCollection_List::Remove()

static_assert )

-

now uses GetEnvironmentVariableW() uses now - ) macros to check that A is actually the class being being class the actually thatis A check to macros ) use consistent way to environment variable variable environment retrieve to way consistent use

methods

removed from OCCT code. OCCT from removed com

are now defined as template methods to allow allow to methods template as defined now are

Copyright © 2017 by OPEN CASCADE Page 9

support. macro w avoided during BSpline evaluation in in the evaluation BSpline during w avoided Remove - thread become has exception in added been have )

b

classes removed. classes ecame deprecated. ecame

and

C++ normal by replaced

Contains

eliminated.

template prevent

local on local instead

of of

and

68

Open CASCADE Technology & Products

28391 28368 28923 28679 28673 28657 28550 28478 28796 28470

OpenCASCADE Technology& Products

BVH_BinaryTree in provided now are implementations incompatible and different Two Summary: byindex. elements sequence accessing of Message_SequenceOfPrinters::Iterator use now classes Messenger Summary: OSD_Process::UserName(). in added is pointer anull for Check Summary: platforms. getsourcefile Draw_Interpretor::add() method The platforms. Windows Summary: OSD_Thread::Wait() OSD_Thread::Run() ~ Methods platforms. Summary: mess string Meaningful Summary: XProgress command DRAW Method the since time elapsed of instead default) by of Update Summary: NCollection_ method New limits. new with Summary: former the if flags reading file to redirected now are flags reading Folder Windows. Summary: reasons. performance for avoided 4 - 2- from produced always is tree ary

OSD_Chronometer::Restart()

Draw_ProgressIndicator TKMath Message_Messenger::Send() implementation is not thread not is implementation Message_Messenger::Send() OSD_Process::UserName exception. thrown to passed message empty Fix Scope OSD_Directory NCollection_Array1

command Draw OSD_Thread ).

OSD_Thread(), OSD_Thread::SetFunction() OSD_Thread(),

n www.opencascade. return the relative path starting with "src" without leading "/" on all on all "/" leading without "src" with starting path relative the return

, BVH BVH , ames readstl for 2- for

ages are provided for all exceptions thrown in OCCT code. code. OCCT in thrown exceptions all for provided are ages pthreads. using onplatforms resources thread release now

a - and 4- and

now closes thread handle after joining. after handle thread closes now

re re QBVH. in height tree invalid Fix does not release thread resources on non on resources thread release not does

getsourcefile s Array1 flag protection incorrect returns wallowed in wallowed show

in usage. different very are trees these since trees, ary

s

– com ::Resize(

progress indicator if configured (by command command (by configured if indicator progress - read is and ary tree, add add

raises

is now is

Copyright © 2017 by OPEN CASCADE Page 10 Message_ProgressSentry

now now Resize() last update. last

command the let to corrected been has EXC_BAD_ACCESS

returns different output on and on Linux output different returns ) bas actually reset actually

re - ed allocat

on achieved total progress (1% (1% progress total achieved on method for re for method

es

only. Virtual functions are are functions Virtual only.

s for shared directory on on directory shared for s

s array to new bounds.

the counter. the

simulator. iPhone on

- safe. - allocating array array allocating

are not found. not are

c onstructors.

-

Windows

instead

and of of 68

Open CASCADE Technology & Products

Framework Application 25537 25536 28463 28425 28314 28058 28446 27970 27667 27585 26007

OpenCASCADE Technology& Products

Summary: Summary: The attribute attribute The Summary: BinMNaming_NamedShapeDriver in corrected been has documents xml bin and from reading at shapes of order The Summary: implemented. been have mode, selection and display the manipulate DPrsStd_AISMode Commands fixed. been has format file XML in mode display of retrieval and storage for procedure The Summary: Clone(). method in copied CopyChildren() in method enabled - on sub located objects children of Handling level. second of Summary: field. internal as kept is attribute the identifying GUID The type. same the of Attribute one than more label same the on set to possible become now has It Summary: reader. file CBF the to added been has file" of on"end check The Summary: TCollection_AsciiString UTF from conversion Improper names. in their Summary: implemented. been has document, in OCAF meshes surface TDataXtd_Triangulation attribute OCAF standard New Summary: %.17g to 'double' from conversion possible largest the fit to increased XmlMDataXtd_PositionDriver char of in array buffer of size The Summary: driver. XML the into added been has types geometrical missing of Support TDataXtd_PLANE

OCAF loses an interactive object after copying. after object interactive an loses OCAF Open/save in meshes surface for attribute Standard XmlMPrsStd_PositionDriver::Paste TObj_Object::Clone() It is not possible to store OCAF documents to paths with with s to paths documents OCAF to store possible not is It

document. OCAF XML within saved not is mode Display usability attributes standard of Improvement file. CBF truncated on reading hangs persistence binary OCAF XmlMDataXtd_GeometryDriver

TPrsStd_AISPresentation

www.opencascade.

and

NamedShape

TDataXtd_CYLINDER

.

and and changes order of shapes. of order changes

and and com

does not copy copy not does . XmlMXCAFDoc_CentroidDriver TagSource XmlMNa -

16 string has been fixed in in fixed been 16 stringhas Copyright © 2017 by OPEN CASCADE Page 11

preserve and and

been has label child the main of labels

.

support doesn't ming_NamedShapeDriver TDataStd

DPrsStd_AISSelMode,

TagSource s

attributes for such children are are children such for attributes runtime check crash. check runtime

interactive object after copying. after object interactive in methods Paste in methods –

containers.

.

of storage allowing ,

TDataXtd_SPLINE, TDataXtd_SPLINE,

children of attributes

characters pecial string.

been has .

which which

from of of 68

Open CASCADE Technology & Products

28616 28564 28972 28973 28946 28908 28862 28853 28852 28842 28736 28714 28691

OpenCASCADE Technology& Products

fixed. Persistence compatible with the legacy format has been restored for shapes: for beenrestored has format legacy the with compatible Persistence fixed. FSD_File using data old persistent of with support Problems Summary: document. same the within performed is Message Summary: important be can which copying, on synchronized now is label the in attributes of order The Summary: d Improve Summary: interfaces. public unify to TDF_AttributeIterator::Value Summary: TDF_AttributeIterator of usage The Summary ShapePersistent_BRep.cxx Summary: persistence binary FSD_BinaryFile in extended been has disk on file document the within position file eping ke for type The Summary: format. XML in tags saved/retrieved XmlObjMgt.cxx Summary: supported. is v.6.7.0 OCCT only moment the For application. the of version savedanewer by documents read to onthem based applications the allow to OCCT of versions in older documents the save to possible now is It Summary: Method TNaming_NewShapeIterator Summary: ▪ ▪

DRAW commands to read / write files h files write / read to commands DRAW been has wrapper write / read Storage

TNaming_Builder::Delete

: SAME Data SAME for presentation attributes, for example. for attributes, presentation for TDocStd_Document Support of applications using old persistence ( persistence old using applications of Support A useless message is printed on copying of data in OCAF. in data of oncopying printed is message useless A label. the to attributes of attachment on Improvement procedure. saving labels empty of Unification TDF_AttributeIterator Attribute > 2Gb. of document OCAF a binary read to error An Di in old format file in XML documents OCAF of Storage TDF_AttributeIterator

mension of of mension

TNaming

www.opencascade.

zero- pass to modified been has TNaming_NamedShape to

has ceased to be printed in the console window if data copying copying data if window console the in printed be to ceased has uint64_t

TDataStd_Real

-

DELETE allows saving .

has been fixed to avoid operations on null object. null on operations avoid to fixed been has inGiB 2 than greater files supporting allows This . com

method now returns Handle returns now method

has been fixed to consider DELETE consider to fixed been has

should give handles instead of pointers. of instead handles give should should not be marked as "handle with care". with "handle as marked be not should

Copyright © 2017 by OPEN CASCADE Page 12 class has been explained in comments. explained been has class document to serialized not is evolution is not considered by by considered not is evolution

is not restored from . from restored not is

implemented; empty labels to a persistent document. persistent a to labels empty ave been been ave

of checking during correct as tags

added; ShapeSchema

been have driver storage

version. document sgd

(instead of pointer) pointer) of (instead

document.

).

evolution.

of of

68

Open CASCADE Technology & Products

Data Modeling

28710 28709 28708 28707 28327 28230 28204 26682

OpenCASCADE Technology& Products

s. shape generated of instead as modified algorithm the by created shapes all considers ShapeUpgrade_UnifySameDomain BRepTools_History one. asingle to merged shapes several of history merge and correctly Type methods history used widely of placement a re as positioned is It algorithms. applied sequentially of histories two to merge algorithm provides It shapes. produced the and the accepted between and'removed' 'modified' 'generated', relations defining andallows and 'solid' BRepTools_History class in new the beenimplemented has mechanism history Shape shapes. producing and accepting Summary: Type Summary: exception. bounds of out prevent to case degenerated for beenadded has check the on iteration for item array of address of using up giving by safe made BSplCL methods of code The Summary: in Geom2dConvert_CompCurveToBSplineCurve.cxx added been has G1) checking for used than tolerance less is curves of (length curves small of treatment The Summary: flag show to corrected been has dump Command Summary: MapShapesAndUniqueAncestors MapShapesAndAncestors equal. in method useOrientation argument Boolean optional The items. list the in ancestors new method The ancestors. Summary:

▪ ▪ ▪ ▪

BRepTools_ReShape BRepTools_ReShape

Method Method removed; been has orientation in only different shapes of processing Unused to check whether the shape has been deleted, use use deleted, been has shape the whether to check History() use shapes, modified the get to ShapeBuild_ReShape >IsRemoved() Generated

considered be will orientation different with shapes same two whether dicates

Simplify type type Simplify cases. degenerated in corruption memory cause can BSplCLib exception. raises C1 to 2dcurve C0 Convert TopTools_ShapeSet::Dump() Create a mechanism to serve shape history in a common way for algorithms algorithms way for a common in history shape to serve a mechanism Create TopExp::MapShapesAndAncestors()

Apply

TopExp::MapShapesAndUniqueAncestors www.opencascade. , Modified 'face' 'edge', 'vertex', types with shapes for history supports It .

.

BRepTools_ReSha type to moved been has parameter mode build the with history has been implemented for algorithm algorithm for implemented been has history

has been simplified: been has has been extended to support the the to support extended been has

ib::KnotForm

as it is used only through the last type. last the through only used it is as

, IsDeleted

in relevant places throughout OCCT code. OCCT throughout places relevant in . The history of changes in the initial shape now now shape ininitial the changes of history . The has been replaced with with replaced been has com

Copyright © 2017 by OPEN CASCADE Page 13 pe.

does not show flag flag show not does

.

and and

Locked -

>Modi BSplCLib::MultForm

will build map with duplicated duplicated with map build will

for shapes in DRAW. shapes for fied(

Locked.

BRepTools_History BRepTools_History of duplication excludes )

History() Array1

has been has

this of . The . The of of 68

-

Open CASCADE Technology & Products

Algorithms Modeling

28802 27079 26874 28210 27252 27221 26748 26745 26150 28131 28112 25730 28491 24094

OpenCASCADE Technology& Products

adjacent points less than a half a than less points adjacent two l between the interva to keep other to each enough close is initial points of the set if Method points. existing between a method New Summary: bapisplit commands Draw corresponding The BRepAlgoAPI_Splitter in class implemented been has Splitter operator API The shapes. arbitrary other by dimension an arbitrary of shapes of number BOPAlgo_Splitter in class implemented operation New Summary: improving significantly allows This ar oneintersection of boundary the between distance the minimizing by refined are vertices found previously IntPatch_Points of algorithm The Summary: returns: it Now BRepOffsetAPI_ThruSections::Generated method Virtual Generated(). Summary: surface. the of middle towards movement iterative by shifted is point probing the parallel) or null are derivatives (when all derivatives from calculation normal of of failure In case surfaces. BSpline triangular on points in singular calculation normal of failure compensate to extended been have Methods 3 bsplinecurve by filling Summary: before. as done no2D is there If honestly). algorithm intersection in computed been has tolerance necessary the that considered is It face. this on curve a 2D is there if tolerance), some (with in a face lies curve the intersection if method The Summary:

interval longest the of middle the in point a new adding line main the of apart s ▪ ▪ ▪

a it is if vertex end or start for edges generated of chains - sub for edges generated of a chain faces generated of a chain ShapeConstruct_ProjectCurveOnSurface::ApproxPCurve D0, D1, D2, D3 D2, D0, D1,

Implicit curve. section Incomplete BRepOffset_MakeOffset Implementation of the Splitter operator in OCCT. in operator Splitter the of Implementation Bad approximation of intersection curves with variable curvature. variable with curves intersection of Bad approximation

BRepOffsetAPI_ThruSections IntTools_Context::IsValidBlockForFaces()

(using ApproxInt_MultiLine::MakeMLOneMorePoint

- implicit intersection (Cylinder intersection implicit BRepAlgoAPI_Splitter www.opencascade. gument and the surface of another intersection argument. argument. intersection another of surface the and gument

.

-

and period of the surface. the of period

- sub for the robustness the DN

com

from class GeomEvaluator_OffsetSurface

cannot create offset with a face which created created which a face with offset create cannot searching has become more precise. The The precise. more become has searching edge of a profile; a edge of

bsplit vertex of aprofile; of vertex

Copyright © 2017 by OPEN CASCADE Page 14 ) should be used after Pave Filler is filled. is Filler Pave after used be should )

-

Plane) loses intersection curve. intersection loses Plane)

of Cylinder of doesn't implement history method method history implement doesn't

-

cu (using (using

rve on this face, then the check is check the then face, onthis rve

BOPAlgo_Splitt -

allows splitting an arbitrary anarbitrary splitting allows intersection. Plane section. degenerated .

- sub a new builds has been redefined. redefined. been has now avoids checking

-

checks now intersection intersection

er

and ) of of line line

68

Open CASCADE Technology & Products

28266 28261 27753 27674 27434 27383 27182

OpenCASCADE Technology& Products

SurfaceOfRevolution with Cone objects infinite For (within SurfaceOfRevolution or Cone of instead plane a create Method Summary: 3d curve. t withou and degenerated vertexes BRepFill_Generator ends. at connected Summary: box bounding BRepTools::UVBounds() method New Summary: Additionally edges: shared for implemented been has types continuity possible all of Calculation Summary: success). of case in (0 status error return now onfaces directions normal andcomputing edges near points finding for Methods the of edge the from distance and direction necessary the in face the inside point method The any face. for faces) the of range UV to (relatively big too is step 3D computed method static The Summary:

▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

Precision::Confusion() New method method New BRepLib::EncodeRegularity() of usage Incorrect ShapeFix::EncodeRegularity() elementary on based are faces connected both if only set is continuity CN equal; are curvatures principal of directions if G2 and C1 to addition in set is C2 is G2 on edge the to orthogonal derivatives, if conditions G1 to addition in set is C1 control in each faces connected for same the are planes tangential if set is G1 edges. BRepBuil BRepLib::EncodeRegularity() continuity). C2 to similar are case this for conditions (the surfaces edge; the through points control in each faces connected vectors; equal are face, each edge; the through points GeomAdaptor_SurfaceOfRevolution::GetType()

Wrong result of classification of the point in "infinity". in point the of classification of result Wrong spheres. two for operation Fuse General of result Wrong Nearly plane cones should not be created by be created not should cones plane Nearly Modelling : BRepOffsetAPI_ThruSections

BOPTools_AlgoTools3D::PointInFace() set in addition to G1 if the centers of principal curvatures are the same for same the are curvatures principal of the centers if to G1 addition in set

derAPI_Sewing www.opencascade. – EdgeRegularity()

BOPTools_AlgoTools::MinStep3D() edges. on regularity of handling improve

same between created the edge make to fixed been has for for

eps < Precision::Confusion() eps <

fixed. been has ).

semiangle com

.

Copyright © 2017 by OPEN CASCADE Page 15

calculates regularity on the given list of list on the given regularity calculates

checks whether the point is inside the the inside is point the whether checks

are sections if shape invalid make

=

PI/2

into merged is BRepPrimAPI_MakeRevol.

now allows looking for the the for looking allows now -

- a"plane for eps

has been modified to to modified been has now checks if the the if checks now

.

by replaced is

like" object object like"

face. of of

in in 68

Open CASCADE Technology & Products

27998 27981 27954 27878

OpenCASCADE Technology& Products

intersections. of segments detects now Method self of search effective more Method faces. intersecting of pairs as well as face each of intersection BOPAlgo_CheckerSI::CheckFaceSelfIntersection method New Summary: Extrema_ExtSS in increased been has roots, searching algorithm by used are which surfaces, on points sampling of number The shapes. Summary: deprecated. as declared is time, construction PerformByJoin() PerformBySimple() class the in way available is robust andmore in faster shells smooth offset of make to option New Summary: option: global as parameter bglue command DRAW corresponding The with method To items: following the are There BOPAlgo_GlueEnum.hxx. in implemented enumeration an is option Gluing The faces. between line intersection or aface and edge between vertex intersection or edges, between vertex real having shapes onthe used be option cannot This - sub their between intersections real have not do but overlapping be may arguments the which in cases, special on the operations of arguments among t designed been have options Gluing The algorithms. Builder andCells Volume Maker operation, Section operations, Boolean Fuse, General as such Component Boolean in the algorithms the for option additional a new is operation Gluing The Summary:

▪ ▪ ▪ ▪ ▪ ▪

set

2 1 0 BOPAlgo_GlueFull BOPAlgo_GlueShift BOPAlgo_GlueOff

the Gluing options for the algorithm i algorithm the for options Gluing the IntPatch_Intersection::Perform(S1,D1,TolArc,TolTang) – – –

IntCurve_IntPolyPolyGen::Perform(C1,D1,TolConf,Tol,NbIter Self topology Create new the on based operations Gluing the of Development for full co full for coincidence; partial for off; is Gluing value, default BRepExtrema_DistShapeShape

the

-

detected. not is intersection appropriate BRepOffsetAPI_MakeOffsetShape www.opencascade. incidence at algorithm latter the calling parameters, with .

method as is available algorithm offset existing Previously .

-

preserving offset computation algorithm. computation offset preserving – - Glue

intersections in case of Surface Of Extrusion. Of Surface of case in intersections

default value for the algorithms, Gluing is switched off; switched is Gluing algorithms, the for value default

coincidence. full with shapes for option glue

glue option for shapes with partial coincidence; partial with shapes for option glue

value.

com

interference the of computation the up o speed

Copyright © 2017 by OPEN CASCADE Page 16

to improve its results. its improve to SetGlue() call to necessary only is t returns not null distance distance null not returns

this set to implemented been has

intersection as such intersections,

as new method method new as shapes.

Boolean component. Boolean

finds the self the finds

on interfered

provides

of of 68

) -

Open CASCADE Technology & Products

28165 28163 28017

OpenCASCADE Technology& Products

IntTools_EdgeFace::myFClass2d IntTools_E IntTools_EdgeFace::FindProjectableRoot() methods The VERTEX type intersection the for only interference Edge/Face of computation during calculated is range intersection areduced Additionally, aface. of bounds UV the get to implemented been TopoDS_Face&) IntTools_Context::UVBounds(const method new The BOPAlgo_WireSplitter into context the pass to possible also is It MakePCurveOnFace PointOnSurface Sence() BOPTools_AlgoTools3D::GetNormalToFaceOnEdge in methods parameter a as added the take to possibility the provide To Context it in stores TopoDS_Face&) method new The unified. the of usage The Summary: invalid as origins same in BRepOffset_Inter3d::ConnexIntByInt corrected been has vertex same the to connected faces intersection of lists the of building The Intersection. Complete Summary: notes: Porting Operations: Boolean in made been have improvements following The Summary:

▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

- edge Empty Modify Method - same by replaced been have edges section of Vertices method The - same of Processing method The - (same on output result in the hit will that vertex i edge, the of vertices to point edges. section coinciding of BOPAlgo_WireS algorithm in the corrected been has evaluation and computation Angles an edge. of part major the cover will it if tolerance UpdatePaveBlocks( curve. section same the on put edge- unnecessary of creation avoid to help will This vertex. Make the method BOPDS_DS::Index() method the Make PostTreatFF

Improve performance of Boolean Operations. Boolean of performance Improve operation. Fuse General of result Unexpected mode in shape attached on result incorrect produces algorithm Offset 3D from dgeFace::myProjectableRanges

BopAlgo_PaveFiller IntTools_Context::ComputePE

BRepAdaptor_Surface initializes the adaptor only once for each face when necessary and and necessary when face each for once only adaptor the initializes , www.opencascade. edge interference is created if the intersection is close to an end an to close is intersection the if created is interference edge . PutPaveOnCurve() PutPaveOnCurve() CorrectWires()

BOPTools_AlgoTools; from

CurveOnSurface ones

orientations the account into take properly to modified been has plitter

BOPTools_AlgoTools

is avoided avoided is domain vertices for section edges has been added in added been has edges section for vertices domain method. )

– IntTools_EdgeFace::Prepare()

f the projection to the curve fails. curve the to projection the f now it takes into account periodicity. account into takes it now

IntTools_Context::SurfaceAdaptor(const

Adapto com

in in

have been removed as obsolete. as removed been have has been improved to avoid increasing vertex vertex increasing to avoid improved been has so that each interference refers to the new to the new refers interference each that so , face. invalid one only with cases

joi Copyright © 2017 by OPEN CASCADE Page 17

in Boolean Operations algorithm has been been has algorithm Operations Boolean in AdjustPCurveOnFace ns nearly located vertices when they are are they when vertices located nearly ns r

from the context, the context has been been has context the the context, from

. return aval return

BuildPCurveForEdgeOnFace

2 now checks the distance from the from distance the checks now D

domain of the initial new vertex). new initial the of domain

.

; as well as fields fields as well as

. Usage of edges with edges of Usage .

shapes. new for index id

equivalents. domain MakePCurve() face intersections. face

algorithm. ,

Make2D

(), (), and and and a and has has of of

the nd

68

Open CASCADE Technology & Products

28189 28187 28183 28175

OpenCASCADE Technology& Products

aCompsolid. be also will now Compsolids on operation Fuse of result The BOP. of result the in avoided now are containers, other - sub s containers such as operation, Boolean result into included type of WIRE containers in the ordering correct for edges reorients method new The Summary: solid. result BOPAlgo_MakerVolume of option new the use BRepOffset_MakeOffset::BuildShellsCompleteInter() Draw Set/Get in faces. vertices or edges internal of occurrence the not prevent but it does parts, internal any contain and not be manifold will solids result MakerVolume for parts internal avoid to option the Setting algorithms: The algorithm. maker Summary: edges. of Now SetSingleSolutionFlag bounds. near ted loca is solution the when even results correct produces now curves between extrema finding algorithm The Summary:

▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

shapes. The duplicating containers, whose contents are completely included in in included completely are whose contents containers, duplicating The shapes.

following the into added been has parts internal of addition prevent to possibility DistShapeShape command command BOPAlgo_MakerVolume. BOPAlgo_BuilderSolid; BOPAlgo_BuilderFace; math_BFGS, math_Powell in algorithms into account taken now is It class the in fields of Initialization in mistake The Conditiona classes in added been has bounds) (in optimization conditional of Support Class status (e.g. when computing D0 out of bounds). of out D0 computing when (e.g. status math_FRPR signals. corrected. been has parameter, deflection math_GlobOptMin math_BFGS - high when optimization local

BOPAlgo_BuilderArea the of methods Result of Boolean operation is non is operation Boolean of Result curve of result Bad

Volume of result the in parts Internal of creation avoid to possibility Add math_GlobOptMin

mkvolume

BOPTools_AlgoTools::OrientEdgesOnWire(TopoDS_Shape&) math_BFGS of usage of in case on turned is l optimization www.opencascade. and and math_MultipleVarFunction function the that

math_BracketMinimum will find all solutions, even if they are located on the same pair same the on located are they if even solutions, all find will

distmini

. has been updated to take into account the new option. option. new the into account take to updated been has

is disabled wh disabled is - extrema. curve

has been improved to use lower order methods of methods order lower use to beenimproved has

order methods fail. methods order

command, which caused incorrect reading of of reading incorrect caused which command, com math_BracketMinimum of orientation coherent a have also now hould

- curve of algorithm calling en Copyright © 2017 by OPEN CASCADE Page 18 -

wire. manifold

to speed up the construction of the final final the of construction the up speed to

.

class have been made inline. made been have class

algorithm guarantees that the the that guarantees algorithm

has been modified to to modified been has FPE possible avoids

failure return can curve Extrema. Extrema. curve

in class in class

and of of 68

Open CASCADE Technology & Products

28223 28706 28222 28221 28214 28207 28195 28193 28191

OpenCASCADE Technology& Products

in improved been has surfaces onperiodic projected a curve for calculation UV bounds of algorithm The Summary: other. each from far too are but region period in IsSeamOrBound() checked now is It CheckArgumentsToJoin() curva local the if forbidden is joining Moreover, meet. lines intersection than two more where the point, been reduced. has method o number The Summary: edge. the to transferred is pcurve updated the that After only. pcurve copied and curve 3D with edge on a temporary but rather pcurves, of set to call corrected BOPTools_AlgoTools2D::AttachExistingPCurve() method The Summary: correspondingly. GeomPlate_Array1OfHCurve GeomPlate_HArray1OfHCurveOnSurface Classes of and array Now, Adaptor3d_HCurve Summary: tolerance. Now Summary: axis. the touch revolution Summary: FuzzyValue Missing Summary: into - re been has faces, between Edges and Vertices method The method. Summary:

BR ShapeUpgrade_UnifySameDomain GeomPlate_BuildPlateSurface epOffset_Tool::FindCommonShapes()

Standard_EXPORT

Projection of closed curve onto cylinder is wrong. is cylinder onto curve closed of Projection fails. cylinders two of Intersection error. operation Fuse General algorithm. domain same unify of result Unexpected Missing Boolean common returns empty result for a solid where asolid for result empty returns common Boolean Inefficient implementation of of implementation Inefficient

Adaptor3d_HCurve

f arguments in the interface of IntPatch_WLineTool::JoinWLines() of in interface the arguments f in class IntTools_FaceFace class in Make the class class the Make

BRepOffset_Tool::HasCommonShapes(),

BRepLib::SameParameter()

ProjLib_ComputeApprox.cxx ture in the connection point is too big (see function function (see big too is point connection the in ture Standard_EXPORT. www.opencascade.

Adaptor3d_HCurveOnSurface of instead GeomPlate_Array1OfHCurveOnSurface

in curves joining to forbid modified been has algorithm This

from from

SetFuzzyValue methods for beenadded has

.

IntPatch_WLineTool

com

GeomPlate_BuildPlateSurface

and BRepOffset_Tool::HasCommonShapes()

Copyright © 2017 by OPEN CASCADE Page 19

function if two boundaries are in the same same the in are boundaries two if function accepts base class class base accepts

. algorithm merging edges uses angular angular uses edges merging algorithm

implemented using maps and renamed renamed and maps using implemented

n the target edge with the whole with the edge target on the not have been renamed to to renamed been have . .

GeomPlate_HArray1OfHCurve

).

common finds which . Adaptor3d_HCurve

of surfaces some

been has

a ccept ccept

and and and of of 68

Open CASCADE Technology & Products

28259 28228 28227 28226

OpenCASCADE Technology& Products

regressions: following The Block). Pave representing the (i.e. Block in the Common first the now is edge original of index withsmallest the Block Pave The method meth All map. data of instead list in the BOPAlgo_Tools::MakeBlocks() BOPAlgo_Builder_2.cxx BOPAlgo_Tools::MakeBlocks() methods The Summary: unifysamedom command Draw faces. connected of merging it forbids anedge, ape is sh the If edges. connected of merging forbids method the a vertex, is the shape If avoided. is faces of merging where edges), ShapeUpgrade_UnifySameDomain KeepShape methods New ShapeUpgrade_UnifySameDoma Summary: SafeInputMode with run is algorithm the option The - sub its of aspects any of modifications against ShapeUpgrade_UnifySameDomain SafeInputMode option The requested. Summary: added. been have unifysamedommod commands Draw corresponding The ShapeUpgrade_UnifySameDomain methods New Summary:

▪ ▪ ▪

Producing the different Pave Blocks for the same section edge is avoided. avoided. is edge section same the for Blocks Pave different the Producing all of tolerance the edge, section the of nce tolera the reduce to trying When to updated also are blocks pave its updated, is block common the existing When checked. is edge this created that interferences Face/Face edge. original the for valid paves the of parameters the make BOPAlgo_Tools::FillMap() ods ods

Method MakeBlocksCnx is duplicated in two different places in BOPAlgo. in places different in two duplicated is MakeBlocksCnx Method in support history Incorrect Provide possibility to keep the given edges during unification of faces in faces of unification during edges given the keep to possibility Provide ShapeUpgrade_UnifySameDomain - nosafe

BOPAlgo_Tools::FillMap()

improvements have been made in Boolean Operations algorithm to avoid to avoid algorithm Operations Boolean in made have been improvements

Modified() www.opencascade.

has been added in draw command command draw in added been has

method template new the with replaced been have

has been updated. updated. been has

and in

stored now are elements of connected blocks . The protected is shape input the then set, it is If . ShapeUpgrade_UnifySameDomain and static method method and static algorithm. class. com

or (vertices shapes several or one set class

IsDeleted() .

switched off. switched

Copyright © 2017 by OPEN CASCADE Page 20 has been added in class class in added been has

have been replaced with the new template template new the with replaced been have BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocksCnx(), true. is value Default shapes.

and modifies the edges even if it is not not it is if even edges the modifies

unifysamedom

in support history provide

and MakeBlocksCnx() MakeBlocksCnx() KeepShapes

unifysamedomisdel

it is . If not set,

algorithm.

from from from of of

68

Open CASCADE Technology & Products

28343 28003 28326 28284 28283 28273

OpenCASCADE Technology& Products

possible. is faces these of merging the if to understand faces adjacent of directions normal of coincidence checks function New Summary: BRepSweep_Rotation::HasShape method in added B for Check Summary: BOPDS_Pair class The result. stable more - sub of intersection of order constant the guarantee to intersection - sub of pairs The removed. been have and needed not are BOPAlgo_CheckerSI::PostTreatCopy() BOPAlgo_PaveFiller, NonDestructive the Since BOPAlgo_BOP::BuildSolid() operations: Boolean of result the building methods into added have been faces (shared) same the from built solids for checks The - sub of intersection BOPAlgo_PaveFiller from transferred methods The phase. Intersection during Summary: on surface. lying not edge an for built is if example, for pcurves, building avoid SetAv is method corresponding (the class flag new The Summary: of initialization unnecessary avoid method The splits. valid of removal avoids now edges bounding existing by edges invalid of filtering The instabilities. possible avoid to corrected been methods The BOPAlgo_BuilderFace BRepOffset_MakeOffset::BuildSplitsOfFace() face the of splits building for method The BRepOffset_MakeOffset::BuildSplitsOfFace Summary:

ShapeUpgrade_UnifySameDomain Avoid classification of sub of classification Avoid Checking invariant shapes in revolve is is revolve in shapes invariant Checking command The

- . Spline and Bezier curves coinciding with the axis of rotation has been has rotation of axis the with coinciding curves andBezier Spline

BRepOffset_Analyse::Correct2dPoint()

PerformVZ, PerformEZ, PerformFZ PerformFZ PerformEZ, PerformVZ,

FindInvalidFaces() myAvoidBuildPCurve GetNormalToSurface before sorted now are boxes bounding interfering with shapes shapes with solids only in self in only solids with shapes www.opencascade. Inefficient implementation of of implementation Inefficient

algorithm directly. algorithm bopcheck BOPAlgo_CheckerSI::PrepareCopy() methods the

BOPDS_PassKey

.

BRepAdaptor_Surface

the by supported natively now is mode

crashes on the given shape. given the on crashes - com

BOPAlgo_CheckerSI

sol relatively BOPs of arguments of shapes

and in added been has

oidBuildPCurve

to to from from Copyright © 2017 by OPEN CASCADE Page 21

BOPAlgo_CheckerSI TrimNewIntersectionEdges

by CheckerSI() mode this supporting

- has been replaced with a simpler class with a simpler replaced been has

intersection mode. intersection shape. invalid produces algorithm ShapeUpgrade_UnifySameDomain incomplete.

BOPAlgo_BOP::BuildRC() .

.

has been redesigned to use use to beenredesigned has and and

.

). This flag tells whether to to whether tells flag This ).

crashes, because pcurve pcurve because crashes,

BOPAlgo_PaveFiller BOPAlgo_PaveFiller PerformZZ to beenmodified has

shapes and produce produce and shapes

perform to class

have been been have

() function the real real the

have

and and and of of ids ids 68

Open CASCADE Technology & Products

28442 28426 28394 28388 28387 28375

OpenCASCADE Technology& Products

faces themselves. faces the than greater become value) offset the on (depending sometimes and operation offset processing for helpful is This removed. simply are splits found All face. original the of wires hole of edges offset from built wire hole new the inside located face offset the of splits the for looks new function The Intersection. Summary: edgestofaces command DRAW corresponding The space. in 3D located randomly aedges of set from faces building allow combined two methods These implemented: been have methods new Two Summary: the and analytical purely are cases These it). to Extrema_ExtElCalgorithm 2D in intersections and extrema for search The Summary: Summary: BRepOffset_MakeOffset::FilterInvalidFaces in faces invalid of filtering the in avoided now are edges inside) (completely Removed BRepOffset_MakeOffset::RemoveInvalidSplitsByInvertedEdges method in implemented been have edges inverted with faces invalid the removing for conditions Smarter Intersection. Summary: components. Bisector_BisecPC.cxx N1P2P1==0. variable Bisector_BisecCC.cxx Summary:

▪ ▪

BOPAlgo_Tools::WiresToFaces BOPAlgo_Tools::EdgesToWires wires. bigger from built faces in the holes create will wires other into included completely plane and same in the located wires The parts. coinciding the share should in the general, In wires. will be non- wires output the general, In planar. not be also will wires output the planar, not are edges input the if it. Thus, check not does method the but beplanar, to expected are edges input The method. the into flag corresponding the passing by shared already are edges input the if sharing skip to possible is It edges. and vertices output the but shared, not be may edges input The

Implementation of the the of Implementation soluti extrema precise Not compound. empty in results and solid face simple of common Boolean DRAW. in handling signals point floating enabling after Regressions Incorrect result of 3D offset operation in mode Complete, Join type type Join Complete, mode in operation offset 3D of result Incorrect Empty result of 3D Offset operation in mode Complete Complete in mode operation Offset 3D of result Empty

FindFacesInsideHoleWires www.opencascade.

vertices. free contain and may manifold

has been modified to avoid creation of of creation to avoid been modified has

when bythe zero division to avoid has been modified shapes containing the faces with holes, which grow during during grow which with holes, faces the containing shapes

put wires are non- are wires put - in circle the completely line the lies if

EdgesToFaces

on of line and circle lying in the same plane. same in the lying and circle line of on

com

Copyright © 2017 by OPEN CASCADE Page 22

planar the from faces planar creating allows edges. from wires planar creating allows solutions will be found precisely. found be will solutions

function. manifold and may be not closed, but but closed, not be may and manifold

from

implemented. been has .

BRepOffset_MakeOffset_1

-

wires will share the coinciding coinciding the share will wires space is now applied in applied now is space

gp_Dir2d is parallel (or plane

. JoinType

zero with

of of 68

Open CASCADE Technology & Products

28490 28486 28474 28473 28468 28456

OpenCASCADE Technology& Products

IntCurveSurface_Polyhedron. class in polyhedron a surface building for used is It discontinuity. surface New algorithm Summary: algorithms: Boolean in introduced been have tweaks following The Summary: face. default in the point the for look to BOPTools_AlgoTools::IsSplitToReverse() before Method Summary: ones. neutral the among edges inverted for looks now edges, offset of validity the algorithm The created). is (spike Intersection Summary: path. of edges and vertices process Method BRep_Tool Summary: value. as recorded been has the given shape if checks BRepTools_ReShape::IsNewShape() method New substitutions. as shape(s) (input) original of subshapes of copies modified - non support now BRepLib::UpdateTolerances Summary:

▪ ▪ ▪ ▪ ▪ ▪

New function function New intersection for added now are faces intersecting the of edges IN common All by IntTools_EdgeFace Face the with Edge the of Intersection is direction normal if Circle's the checks now Cone onthe Circle the of Projection a byadding beenfixed has faces two analytical of intersection in Exception Checking for the SameDomain the for Checking searched for by intersecting each section edge with all faces not participated in participated not all faces with edge section each by intersecting for searched are faces between zones common possible edges: section the for processing self avoid to edges section with result. positive the gives check coincidence the if result intersection QuickCoi ProjLib advanced amore not, it is If direction. Cone the to parallel curve. analytical resulting in the vertices of number the of check simple present. are zones common and curves section both where faces, of pairs the face. the coi of case In creation. its BRepFill_SectionPlacement::Perform() BOPAlgo_ShellSplitter::MakeShell making a solid from it. The implementation of method method of implementation it. The from asolid making

Fuse of several solids fails due to presence of common zones between fa between zones common of presence to due fails solids several of Fuse shape. resulting of validity breaks operator Fuse General BRepBuilderAPI_MakeFace Point located outsi located Point Incorrect result of 3D offset operation in mode Complete, Join type type Join Complete, in mode operation offset 3D of result Incorrect :: no parameter onedge. parameter no ::

raises sections different with Sweep

_ComputeApprox

BRepOffset_MakeOffset_1::FindInvalidEdges, IntCurvesFace_Intersector

ncidenceCheck

ReShape BRepTools_ input feature. mutable www.opencascade.

BOPAlgo_PaveFiller::PutSEInOtherFaces()

de the solid is classified as inside. as classified is solid the de

ncidence it is put as IN edge into FaceInfo structure of structure FaceInfo into edge IN as put is it ncidence algorithm will be used for projection. for used be will algorithm ()

mode now avoids checking the type of the the of the type checking avoids now mode

-

and com the in intersection

processes Operations in Boolean faces of splits

modifies the input shape. input the modifies

Copyright © 2017 by OPEN CASCADE Page 23

BRepLib::SameParameter()

takes into account the intervals of intervals the account into takes

has been changed to use use to changed been has

shell the to reorient been fixed has

result. result.

correctly to modified been has Standard_NoSuchObject: Standard_NoSuchObject:

tool is used to store to store used is tool

which checks checks which

in algorithm

Hatcher

functions provides provides

ces.

of of 68

Open CASCADE Technology & Products

28558 28556 28553 28551 28535 28508 28501 28496 28492

OpenCASCADE Technology& Products

B method in avoided now is zero by Division Summary: BOPAlgo_WireSplitter in avoided is only edges degenerated of consisting wires of Creation operations. BOPAlgo_PaveFiller::FillPaves() in implemented been has tolerance intersection appropriate The Summary: inside fully p- all that so surface new the to create bounds extends also fix The continuity. C2 of intervals ShapeAnalysis_Curve::FillBndBox method the in curve 2D a for box a of computation The Summary: IntWalk_Pwalking.cxx in fixed been has operation Fuse by caused Exception Sum edge. with face non- perform also but expressions, Boolean simulate only not to possible become has It arguments. CellsBuilder Summary: intersecting. are faces limiting the in BRepFeat_MakePrism prism tool of Building multi with cases in even faces input given the from The intersection. Summary: trimmed. not be may curve basis the that account into (GeomLib::IsClosed() SurfaceOfExtrusion of check closeness The Summary: value. - a Walking of construction 3D Previously Summary:

R epFill_CompatibleWires::SameNumberByACR mary: mary:

algorithm

Test bugs modalg_6 bug26150_17 is failed with FPE switched on. switched FPE with failed is bug26150_17 modalg_6 bugs Test bug469. moddata_2 bugs case test in the operation Fuse of result Invalid result Incorrect faces. attached two on 11" "ErrorStatus: reports Fuse BOP Use erro with faces attached on two failed Cut BOP does common Boolean ShapeUpgrade_FaceDivide::SplitSurface

Incomplete result of offset operation in mode Complete with Join type type with Join Complete mode in operation offset of result Incomplete

supported Boolean operations, such as cutting face from solid or fusing fusing or solid from face cutting as such operations, Boolean supported

- BOPAlgo_ShellSplitter

CellsBuilder steps could be generated shorter than 3D tolerance during the the during tolerance 3D than shorter begenerated could steps

algorithm has been extended to work with multi work to extended been has algorithm www.opencascade.

ShapeUpgrade_ShapeDivideContinuity . line. Now 3D Now line.

algorithm with multi with algorithm

not produce expected result. expected produce not

com - step is limited by Precision::Confusion by limited is step account into take to improved been has () ges in Boolean Boolean in edges degenerated splitting for

Copyright © 2017 by OPEN CASCADE Page 24

possible as shells many as produces now

avoids self avoids

- connected edges connected -

arguments. dimensional

.

191". "ErrorStatus: r

-

when cases in intersections ().

cu

located were rves

algorithm. -

dimensional dimensional

takes now

.

of of 68

Open CASCADE Technology & Products

28591 28579 28577 28576 28574 28573 28567 28562

OpenCASCADE Technology& Products

curves. 2D no are there in case surfaces or onfaces curves c the 3D of deviation maximal the as calculated tolerance valid own its has curve each Now curves. all among tolerance maximal the as was calculated faces of pair a between curves section all for tolerance the intersection Previously, algorithm. in Boolean changed been has procedure intersection Face/Face The Summary: features. obsolete containing as removed been have QANewBRepNaming QANewModTopOpe, packages The algorithms. Summary: TopOpeBRep* TKOffset toolkits The Summary: package. Commands well. as removed have been algorithm old the of debugging ( view In Summary: old. of instead operations Boolean new use to modified have been commands QA The Summary: package. old of usage of traces The Summary: BRepAlgo_BooleanOperations in class (implemented BRepAlgo_NormalProjection BRepAlgoAPI_BooleanOperations) class in (implemented operations new Boolean The ( Summary: BRepAlgo_BooleanOperation BRepAlgoAPI ▪ ▪ ▪ ▪

Cass QANewBRepNaming_BooleanOperation class Unused Class fubl ksection, commands DRAW algorithm. QANewBRepNaming_BooleanOperation operations. Boolean modern bfuseblend commands with replaced correspondingly been have operations

Get rid of the the of rid Get packages. TestTopOpe* the of rid Get commands. QA in Operations Boolean old the of rid Get ( Operations Boolean old on based commands DRAW of rid Get

Get rid of the obsolete obsolete the of rid Get BOP Cut creates wrong result. wrong creates Cut BOP Replacement of old Boolean operations ( operations Boolean old of Replacement compare, issubshape QANewBRepNaming_BooleanOperationFeat

QANewBRepNaming_BooleanOperation

classes. ) in in ) of the removal of the old Boolean operations operations old Boolean the of removal the of

BRepAlgo_NormalProjection www.opencascade.

and

TopOpeBRep bcutblend

and Boolean operations have been removed from BRepFeat from removed been have operations Boolean

TKFeat

), the TestTopOpe* the ),

operations Boolean old the of instead algorithm QANewModTopOpe_*

* algorithms in algorithms *

based on the modern Boolean operations. Boolean modern the on based com and

projponf Copyright © 2017 by OPEN CASCADE Page 25 obsolete the from cleaned been have

in used now are and and

has nothing to do with Feat with do to nothing has it as

TKOffset .

have been moved to BRepTest to moved been have

cubl packages used for testing and and testing for used packages ). ).

BRepAlgo

has been modified to use use to beenmodified has

and and and

Boolean old on based

has been renamed to to renamed been has toolkit.

QANewBRepN removed. been has

QANewDBRepNaming ) with new ones ones new with )

2D its from urve BRepAlgo

bsection, Operations Operations

aming_*

of of ).

68

Open CASCADE Technology & Products

28631 28626 28605 28600 28594 28591

OpenCASCADE Technology& Products

DrawTrSurf_Curve2d It is GccEnt_QualifiedCirc/GccEnt_QualifiedLin GeometryTest_DrawableQualifiedCurve2d object DRAW New GccEnt center. its Summary: IntPatch_ImpImpIntersection in function offset Small faces. Summary: added: been have commands Draw new Two edge. input the of orientation reversed of case in the errors method The t in range intersection valid of calculation of algorithm the by used now is method This vertices. boundary by covered BRepLib::FindValidRange() method New Summary: shells. big onthe time computation reduces significantly It search. first algorithm check Shell Summary: Scale flag Boolean Summary: unused. as the algorithm from removed completely intersecti 2D itself: curve the from obtained be can curve the of tolerances the Now TolReal() of methods such Thus,

▪ ▪ ▪ ▪ ▪ ▪

tolsphere validrange IntTools_Curve::TangentialTolerance() IntTools_Curve::Tolerance() circ2d3Tan qcircle/qline vertex of the shape. the of vertex tolerance. face maximal the is tolerance tangential the of value the cases other In only. cases Plane/Plane for computed is tolerance this Currently, faces. between the common of on size the depends which tolerance, qcircle/qline/point GeometryTest_DrawableQualifiedCurve2d

now provides provides now

Improve the the Improve the of performance Bad Geom2dAPI_Interpolate Crash while building a 2D circle tangent to another circle and passing through through passing and circle another to tangent circle a2D building while Crash Boolean CUT operation fails due to exception while intersecting two conical conical two intersecting while exception to due fails operation CUT Boolean

BOPTools_AlgoTools::MakeSplitEdge() and

on tolerance IntTools_FaceFace::TolReached2d() tolerance on

TolReached2d() www.opencascade.

– has been added for methods Geom2dAPI_Interpolate::L methods for added been has

BRepCheck_Shell

GccEnt_Position shows tolerances of vertices by drawing a sphere around each each around asphere drawing by vertices of tolerances shows calls the new method method new the calls edge. an of range intersection valid of calculation of algorithm

command wraps wraps command

IntTools_FaceFace

with with he class IntTools_ShrunkRange

arguments. GccEnt_Position ins creates command checkshape

removed. been have is now adapted to parametric step. parametric to adapted now is com

as same the not is curve generated

has been improved well to use improved been has s. s. backward and value string to conversion

Copyright © 2017 by OPEN CASCADE Page 26

BRepLib::FindValidRange()

curve; the for tolerance valid the returns IntersectionWithAnArc

command.

not edge the of range the computes

algorithm as as algorithm GccAna_Circ2d3Tan

. color. in orange visualized

;

has been protected against against protected been has

returns the tangential tangential the returns .

TolReached3d(),

of tance - - width known

proe

has been been has

.

.

taking taking oad wraps wraps from from

of of

. 6

8

Open CASCADE Technology & Products

28683 28677 28675 28661 28652 28639 28637

OpenCASCADE Technology& Products

BOPAlgo_PaveFiller Summary: face. result in the changed not is orientation its open, is wire input the If wire. Method Summary: BOPAlgo_Builder::FillImagesEdges() of result PaveBlocks of list anempty with edges Small Summary: BRepOffsetAPI_MakePipeShell command Draw New GeomFill_Sweep::BuildKPart(). method in been corrected has on surfaces error of Calculation BRepFill_PipeShell::Prepare() method in cleared now are fields Class NCollection_DataMap::Find Standard_NoSuchObject: Summary: using in BRepOffset_Tool performed is faces untrimmed planar of intersection the Now Summary: introduced: been have tweaks following The Summary: Extrema_GenExtCC in added been has small too are derivatives the if constant Lipschitz of decrease a preventing condition The B and line Summary:

▪ ▪ ▪ ▪ ▪ ▪ ▪

IntTools_FaceFace The methods methods The method The methods The of ods meth Simple reused. then and once only built are triangles the for boxes Bounding tree. binary unbalanced with triangles interfering of pairs for Search avoid to list the with replaced is triangles intersecting of couples array of The IntPolyh_MaillageAffinage TriangleComparePSP NextStartingPointsResearch2*, StartingPointsResearch2, with replaced IntPolyh_Triangle MultipleMiddleRefinement2 IntPolyh_Triangle allocations. memory unnecessary BRepLib_MakeFace::CheckInside()

- spline edge. spline Wrong result of CUT operation. CUT of result Wrong Avoid change of wire orientation in orientation wire of change Avoid ope Cut Boolean of result Invalid cases. planar the for algorithm offset 3D the of performance Improve the of performance Improve curve Extrema

BRepOffsetAPI_MakePipeShell www.opencascade. IntPolyh_Triangle::ComputeDeflection

errorsweep IntPolyh_Triangle::TriangleDeflection

has been improved to avoid creation of small section edges. section small of creation avoid to improved been has - c CheckCommonEdge, SetEdgeandOrientation CheckCommonEdge, urve cannot find correct solution between edge based on the on the based edge between solution correct find cannot urve TriangleEdgeContact2, LinkEdges2Triangles,

algorithm directly. algorithm

unused. as class and

and IntPolyh_Couple

algorithm. StartPointsCalcul checks the error reached on surfaces built by built surfaces on reached the error checks com IntPolyh

algorithm. class as unused. as class

IntPolyh_Point, IntPolyh_Edge, IntPolyh_Edge, IntPolyh_Point,

ration when running with fuzzy value. with fuzzy when running ration

Copyright © 2017 by OPEN CASCADE Page 27 BRepLib_MakeFace

have been removed from from removed been have (removed edges) are now avoided in the in the avoided now are edges) (removed

algorithm.

now cannot be called for an open anopen for called be cannot now

algorithm.

inline. become have classes throws an exception anexception throws

from removed been have .

the if .

open. is wire

has been been has .

and of of

68

Open CASCADE Technology & Products

28782 28780 28776 28771 28724 28692 28775 28690

OpenCASCADE Technology& Products

f akey remove to used RemoveLast() with updated been has code OCCT map. the from key arbitrary an remove to maps [data] methods New hold to updated been have containers map The key. integer on done is iteration So maps. indexed with maps simple replacing by avoided now are key shape with on maps iterations The Summary: parameters projection current to according Method Summary: overlapping. of case in origins multiple BOPAlgo_Builder::myOrigins field type of The origins. multiple have Summary: BRepOffset_MakeOffset.cxx in corrected been has faces, planar to belong which edges, new of Tolerance Summary: adaptor). of parameter last and the first the of (independently itself curve the of periodicity about information Geom( of algorithm New Summary: in improved been has criterion Tolerance Summary: modified. have been Block Pave vert of values tolerance the if invalid become may shrunk The Block. Pave - re during stillvalid is Block Pave the BOPDS_DS::IsValidShrunkData() method new The unified are vertices its and created paves with extra Pave Blocks of It method. BOPAlgo_PaveFiller methods The Summary:

range intersection have a valid Blocks Pave new these that checked is

HLRBRep_Curve::D1() Shape sewing behavior not consistent for the same CAD file. CAD same the for consistent not behavior sewing Shape work. to seem not does focus with HLR BRepOffset_MakeOffset found. be cannot plane and circle between Extrema failed Projection the across removal duplication Code field the Extend

RemoveKey()

PerformVerticesEE() www.opencascade.

map. [data] indexed rom

wi replaced been have 2d)Adaptor_Curve::IsPeriodic() (projponf BOPAlgo_Builder::myOrigins

and . If a new Pave Block does not have such range, it is not not it is range, such have not does Block Pave anew If .

.

been has in an SD vertex. SD an in RemoveFromIndex()

computation of the shrunk data for the modified modified the for data shrunk the of computation com

). incorrect result. incorrect

Extrema_ExtPElS .

Copyright © 2017 by OPEN CASCADE Page 28 corrected to apply transformation to a point to transformation to apply corrected and

type definitions of key and value. and key of definitions type BOPAlgo_PaveFiller th the new PerformNewVertices() new the th

PerformVerticesEF()

now allows a new shape to have have to shape new a allows now

and

of Data Shrunk the that checks

have been added to indexed indexed to added been have

Substitute() Substitute()

algorithm.

could shape the that so

method return the the return method

algorithm.

splitting during

ices of the the of ices

class of methods methods

of of 68

Open CASCADE Technology & Products

28884 28856 28830 28812 28795 29000 28956 28786 28784

OpenCASCADE Technology& Products

BRepExtrema_TriangleSet Standard_EXPORT BRepExtrema_TriangleSet Summary: Extrema_GenExtCC::Perform( in method added been has constant Lipschitz large for Processing Sum on faces. only point project could it Earlier boundaries. with spaces half for it usable makes which and vertices, BRepPrimAPI_MakeHalfSpace algorithm The Summary: in GCPnts_DistFunction.cxx. checked now is creation line of possibility The Summary: infinite). not were boundaries both if only was updated it (earlier, infinite BRep_CurveRepresentation BRep_Builder off. switched is option destructive" Summary: algorithm: by the generated alerts consult to methods the provides It algorithms. BRepAlgoAPI* BOPAlgo_Options class new The warnings. and errors report to and detect to added been have the algorithms across checks new and the refactored been has Component E the Correspondingly, in Message added been have algorithms of execution during them collecting and etc.) warnings (errors, alerts representing classes defining for tools Basic Algorithm. Summary: length. null with edge an of creation avoid Method Summary:

▪ ▪ ▪

mary: Method Method DumpErrors/DumpWarnings Methods details. for text. as messages warning warni and error of presence HLRBRep_PolyHLRToShape::InternalCompound

Extrema between two curves gives wrong result. wrong gives curves two between Extrema HalfSpace R acompound. for lines hidden getting while Crash [HLR] Boolean operations corrupt the the corrupt operations Boolean Refactoring of of Refactoring

est case is crashed if

GetReport() Add Add

HasErrors()

Operations all Boolean for class base as andserves algorithms algorithm has been improved to update the range of of range the update to beenimproved has algorithm www.opencascade.

command chooses the wrong side of the given shell. given the of side wrong the chooses command macro has been added to some methods of of methods some to added been has macro rror/Warning reporting system of the algorithms in Boolean in Boolean of the algorithms system reporting rror/Warning

Standard_EXPORT

Operations Boolean of system reporting the Warning/Error

. . Message_Report class see alerts; to all access provides

and and of the edge if at least one of its boundaries is not not is boundaries its of one least at if edge the of

CSF_FPE ng alerts, respectively; ng alerts, ).

HasWarnings()

com methods can be used to dump the error and and error the dump to used be can methods

unifies the options of BOPAlgo_* of options the unifies

Copyright © 2017 by OPEN CASCADE Page 29 set to 1. to set

p - "non if face planar source the of curve

now searches for projection on edges onedges projection for searches now

of methods to macro

can be used to check for the the for check to be used can

has been modified to to modified been has

package.

a of of nd 68

-

Open CASCADE Technology & Products

28995 28982 28968 29027 28913 28893 28892

OpenCASCADE Technology& Products

face. BRep_Tool::CurveOnPlane() method New on planes. 2dcurves for check adding ShapeAnalysis_Edge Summary: casting. direct of instead curves typed to get Adaptors by using curves by Trimmed caused conversion type incomplete ( algorithm intersection Edge/Edge Summary: degenerated. as encoded T BRepOffset_MakeSimpleOf with checked is side each In addition, the of tolerance and position If surface. of fluctuations small dueto normal of poles all point). one to exactly not but degenerated is when case ( algorithm offset Simple Summary: ShapeUpgrade_UnifySameDomain F Summary: ranges UV is points now small sample avoided of too with number the of onsurfaces Calculation BOPAlgo_PaveFiller::UpdatePaveBl in added been has set) edge (without edges untouched of Processing Summary: shape modifications modifications shape of illing his helps to process cases when no edge is located at that side or such edge is not not is edge such or side that at located is edge no when cases to process helps his

the offset

UnifySameDomain wire. from result faulty creates offset 2D singularities. with faces for offset Incorrect UnifySameDomain BOPAlgo_PaveFiller in in B a

using done is singularity for check then edges, degenerated contains face - IntCurvesFace_Intersector singular side of the surface the surface of side singular S

at one of singularity imprecise has surface pline www.opencascade.

BRepOffset_MakeSimpleOffset

behavior has been s been has behavior

corresponding vertices. corresponding fset

crashes with error. with crashes produces invalid shape. invalid produces

returns status "error: 11" or raises exception. raises or 11" "error: status returns

IntTools_EdgeEdge (by default Precision::Confusion default (by

algorithm. com

in a

ocks ocks

to the same point; this avoids flapping of of flapping avoids this point; same the to

Copyright © 2017 by OPEN CASCADE Page 30 history history

user In In

ynchronized with with ynchronized

generates PCurve of the edge on planar planar on edge the of PCurve generates this this algorithm

- defined defined

method.

case, the algorithm tries to collapse to collapse tries algorithm the case,

has been has .

parameter parameter

from protected been has ) the to handle improved is ) its its

BRepCheck_Edge

(when sides

Tolerance c

orrect

()

) used is ed the the

from from side of of

the the by by in in 68

.

Open CASCADE Technology & Products

Healing Shape 28392 28346 27894 27358 28601 28529 28471

OpenCASCADE Technology& Products

ShapeUpgrade_UnifySameDomain Summary: cases. all in respected is quantity their and spaced equally are This index. from independently calculated is parameter the point each at step, adding by parameter the incrementing iteratively of instead robust: more in ShapeAnalysis_Curve::GetSamplePoints() logic iterating The Summary: p is tolerance edge/vertex of Increase Summary: edges. gluing location surface proper the considers now algorithm The Summary: remove_level option New Summary: file. urce reso Processing FixShellOrientationMode options corresponding The in solid. shell(s) of orientations and fixing analysis the option New Summary: SWDRAW_ShapeAnalysis.cxx in added been projpcurve command Draw New Extrema_Curve(2d)Tool.cxx in implemented been type curve for added been has criteria deflection on based interval parametric curve of Subdivision optimal. from far is which result, projection to leading solution a single Summary: - a non -

tolerance. old the within is curve

avoids possible accumulation of numeric errors, and ensures that generated points points generated that and ensures errors, numeric of accumulation avoids possible

edges. of set anempty from wire building or face connected

ShapeAnalysis_Curve::GetSamplePoints ShapeFix_Shape UnifySameDomain ShapeUpgrade_RemoveLocations off. switch to no option have checks Some calling when Crash Function Function OtherCurve ShapeFix_Solid::FixShellOrientationMode

GlueEdgesWithPCurves www.opencascade.

ProjectOnSegments

in in

has been added to the command removeloc command the to added been has Extrema_GExtPC.gxx

increases tolerance of sub of tolerance increases ShapeUpgrade_UnifySameDomain

crashes on a shape with location. with ashape on crashes and and

FixFaceOrientationMode now avoided if the distance between 3D curve and and curve 3D between the distance if avoided now CurveOnSurface CurveOnSurface on point of projection for

has been fixed to avoid getting pcurve of edge on on edge of pcurve getting avoid to fixed been has com

Copyright © 2017 by OPEN CASCADE Page 31 when it gets the pcurve of an edge of pcurve the it gets when from from from

breaks sharing of sub of sharing breaks

ShapeAnalysis_Curve ShapeUpgrade_UnifySameDomain

has subdivision of algorithm The .

- FixVertexToleranceMode, FixVertexToleranceMode,

shape. avalid of shapes

robust. isn't logic iteration

allows switching off off switching allows are added to Shape Shape to added are

.

- shapes.

.

has become become has

only returns

during during

has has of of

68

Open CASCADE Technology & Products

Visualization 28647 25288 28489 27366 25695 24999 27958 24577

OpenCASCADE Technology& Products

Summary: setMarkerType vaspects command Harness Draw type. marker specified the for initialized already been OpenGl_AspectMarker: Uninitialized redraw. Summary: AIS_InteractiveObject. besides in AIS_InteractiveContext supported is mode highlight Thus object. interactive each of instead context interactive the in mode highlight set to possible now is It Summary: AIS_Trihedron of functionality whole command DRAW aspect. flag presentation shaded New ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

ComesFromDecomposi AIS_InteractiveObject::HighlightStyle() enumeration New PrsMgr_PresentationManager::Unhighlight() myDrawer myDrawer field Duplicated StdSelect_BRepSelectionTool Graphic3d_PresentationAttributes Graphic3d_HighlightStyle StdSelect_BRepOwner selection. Local and Global for styles different defines and argument types. highlight different deprecated. marked been has argument as Mode taking method The modes. and myDrawer myOwnColor; SelectMgr_EntityOwner highlighting. for mode display defining ZLayer Graphic3d_HighlightStyle Graphic3d_PresentationAttributes new class from inheriting SelectionStyle() HighlightStyle() AIS_InteractiveObject; from ZDetection() PreSelecti beenremoved: have properties unused following The

AIS_Trihedron AIS_InteractiveContext OpenGl_AspectMarker myDrawer

Z defining ()

- and and vtrihedron www.opencascade. >Color() theMarkerSize onColor(), DefaultColor(), WasCurrentTouched() DefaultColor(), onColor(), -

setMarkerSize

>ZLayer() from Prs3d_TypeOfHighlight :Resources::BuildSprites()

-

- Layer for highlighting presentation and DisplayMode presentation highlighting for Layer from from

AIS_InteractiveContext; SelectionPriority AIS_InteractiveContext; option. presentation add shaded

SetDatumDisplayMode SetDatumDisplayMode is now used in AIS in used now is tion() , which changes trihedron parameters, now covers the covers now parameters, trihedron changes which ,

to to

has been dropped in StdSelect_Shape dropped been has - Prs3d_Drawer

>Transparency() SelectMgr_EntityOwner instead of of instead

instead of of instead - com

. invalid marker re size on marker invalid

) has been extended with new properties: properties: new with extended been has )

.

- has been superseded by Prs3d_D by superseded been has

define default default define has been extended with new options: options: new with extended been has Copyright © 2017 by OPEN CASCADE Page 32 property has been moved from from moved been has property

take to beencorrected have methods has been fixed in beenfixed has myZLayer StdSelect_BRepOwner

.

_InteractiveObject

has been introduced defining defining introduced been has HilightMode instead of myTransparency of instead .

is configured through Datum Datum through is configured

(replacement of of (replacement

enumeration takes now

in case if aspect has has aspect if in case . -

setting aspect without without aspect setting all highlights now

.

.

. .

of instead

rawer

and and

and of of 68 () ()

Open CASCADE Technology & Products

28527 28323 25695 25382

OpenCASCADE Technology& Products

FFmpeg framework. FFmpeg New class Image_VideoRecorder Summary: StdSelect_BRepOwner ComesFromDecomposition() selection. Local and Global for styles different AIS_Intera Prs3d_TypeOfHighlight enumeration New deprecated. marked been has argument as Mode taking method The PrsMgr_PresentationManager::Unhighlight() my myOwnColor In myDrawer field Duplicated Sel StdSelect_BRepSelectionTool properties: new with extended been has replacement) Graphic3d_PresentationAttributes Graphic3d_PresentationAttributes new class from Graphic3d_HighlightStyle removed: been have properties unused following The AIS_InteractiveContext is mode highlight now Thus, object. interactive each of instead context In most Summary: dependency optional New recording. command Harness Draw

▪ ▪ ▪ ▪ ▪ Drawer

AIS_InteractiveObject

ectMgr_EntityOwner

DisplayMode() ZLayer() HighlightStyle() SelectionPriority() WasCurrentTouched() DefaultColor(), PreSelectionColor(), ZDetection() CAD

- TKOpenGl AIS_InteractiveContext >ZLayer()

ctiveObject::HighlightStyle() ,

application

myDrawer

defining Z defining www.opencascade.

-

improved video recordi video improved from from

s

myZLayer of instead defining display mode for highlighting. for mode display defining , it

vanimation to to CSF_FFmpeg -

dropped been has >Transparency()

- SelectMgr_EntityOwner

i instead of of instead AIS_InteractiveContext Layer for highlighting presentation. highlighting for Layer s more more s and and

besides ,

from from SelectionStyle has been superseded by Prs3d_Drawer superseded been has

convenient convenient myDrawer property has beenmoved has property com

AIS_InteractiveObject AIS_InteractiveObject methods have been corrected to take take to corrected been have methods StdSelect_BRepOwner

has been been has has been extended with new options for video video for options new with extended been has

has been introduced been has

-

define default default define Copyright © 2017 by OPEN CASCADE Page 33

from .

capability ng

(as (as -

interactive in the mode highlight set to

>Color() instead of of instead

StdSelect_Shape defines added for video recording using using recording video for added

() from Prs3d_Drawer () from

takes Graphic3d_HighlightStyle

Hi

modes. all unhighlights now .

.

; gh

it as as it

different highlight types. highlight different .

is now used instead of of instead used now is lightMode

myTransparency

. argument

; .

.

. support

and defines .

inheriting

ed from from

and and and of of in 68

Open CASCADE Technology & Products

28047 27921 26213 28826 28400 27925 27527 26062

OpenCASCADE Technology& Products

Weighted Blended Order Blended Weighted rendering. Summary: AIS_InteractiveContext::MoveTo from removed object old the to related logic Redundant - re be will presentation SelectMgr_EntityOwner::IsForcedHilight in true returns in false returns owner the if object the to erase highlight dynamic of processing pass will context Interactive highlighting. dynamic for mode immediate AIS_InteractiveObject if case in data highlight dynamic removing SelectMgr_SelectableObject::ClearHighlighted method New AIS_InteractiveContext Summary: range. AIS_TextLabel::SetTransparency method New transparency Summary: Select3D_SensitiveGroup NCollection_IndexedMap Summary: in OpenGl_Texture fixed been has 3.0+ ES onOpenGL format image Image_Format_RGB32 of Initialization side. application the at it about care to no need is there therefore priori rendering the Now The visibility. its on - [0 factor scalar and method transparency Graphic3d_RenderingParams to options rendering new adds patch The use Its us be can 3.0; ES OpenGL as well as OpenGL desktop supports feature The buffer. depth a GL of value on based factor weight a with together used being when occlusion depth ma mode new transparency, blending classical the to contrast In pipeline. rasterization ed together with MSAA on desktop GL. desktop on MSAA with ed together ▪ ▪ ▪ kes transparent objects look independent from the point of view. It also gives better better gives also It view. of point the from independent look objects transparent kes

also improvement

Multiple render targets ( targets render Multiple ( framebuffer for format color point Floating pipeline. Shaders requires:

order Implement Replace sequence in in sequence Replace Add missing missing Add

Support objects with customized highlighting in in highlighting customized with objects Support www.opencascade.

::Select each at highlighted simplifies processing of transparent objects for standard method. method. standard for objects transparent of processing simplifies ty of transparent graphical structures is managed automatically, automatically, managed is structures graphical transparent of ty SelectMgr_Entity

-

to been added has algorithm Transparency Independent - independent transparency algorithm within rasterization within rasterization algorithm transparency independent Graphic3d_AspectText3d .

of instead used now is GL_ARB_draw_buffers .

Select3D_SensitiveGroup

com

1] controlling influence of a fragment's depth depth a fragment's of influence 1] controlling

Copyright © 2017 by OPEN CASCADE Page 34 - oriented highlight mechanism has been been has mechanism highlight oriented Owner::IsAutoHilight

GL_ARB_color_buffer_float

call. NCollection_Sequence

1] [0, within transparency defines .

).

label defining method

.

. If the owner owner the If .

does not use use not does selection ,

structure:

allows allows within

). of of

68

Open CASCADE Technology & Products

28241 28126 28306 28107 28405 28407 28895 28820 28088 28129 28129

OpenCASCADE Technology& Products

The default value of UpdateViewer of value default The parameter. Summary: Graphic3d_RenderingParams::NbRayTracingTiles option new the through value small relatively to tiles of number the Setting size. window on the independently tiles of number the fixes improvement The the is image final produce to needed time (cumulative) total the time, same At the variance. contrary the but at (FPS), interactivity to increase allows tiles of number a smaller So, window). 1080 x 1920 and window 512 x both 512 for used be can tiles 256 (e.g. resolution screen any for tiles of number the same keep to possibility the in consists mode sampling screen adaptive of feature important The Summary: command: DRAW vrenderparams via controlled also be can parameter This disabled. is it default, By - one original of versions Graphic3d_RenderingParams TwoSidedBsdfModels parameter rendering New Summary: bitmaps. through patterns hatch custom set to possible also is It hatching. predefined New class Graphic3d_HatchStyle Summary: anymore. SetPrivilegedPlane CircularGridGraphicValues, RectangularGridGraphicValues, SetCircularGridValues, SetRectangularGridValues, V3d_Viewer Method code. application the in places weak such finding complicated API w previous The performance. overall the impact significantly can between in updates Viewer additional therefore AIS_InteractiveContext in changes several perform applications Most not. or updated be to needs AIS_InteractiveContext ▪ ▪

equal

Preventing freezing of application GUI and possible crashes due to driver's limit limit due to driver's crashes possible and GUI application of freezing Preventing low for important especially is which (FPS), level high a at interactivity Keeping on maximum frame rendering time on complex scenes. oncomplex time rendering frame on maximum GPUs. performance Graphic3d_StructureManager::UpdateMode()

for both cas both for Path Tracing Tracing Path tracing Path aflexible Provide

,

AIS_InteractiveContext a larger number of tiles decrease interactivity, but leads to lower per lower to leads but interactivity, decrease tiles of number a larger

vrenderparams vrenderparams www.opencascade. es.

methods - sided scattering models. scattering sided -

Provide ability Provide

Improve interactivity in "steady" rendering mode. rendering "steady" in interactivity Improve and

interface to set custom hatch styles. hatch custom set to interface

user always specify if the viewer viewer the if specify always user let to the methods DisplayPrivilegedPlane

- two use to tracing path forces It structure.

ith ith the cost of higher per higher of cost the - com

twoside [on|off] twoside to use two use to ActivateGrid, DeactivateGrid, DeactivateGrid, ActivateGrid, provides the possibility to set up custom and upcustom set to possibility the provides UpdateViewer

Copyright © 2017 by OPEN CASCADE Page 35 –

flag has been removed from all from removed been has flag drop default value for Update Viewer Viewer Update for value default drop

- models. scattering sided

- flag turned ON by default default by ON turned flag

On ('noise'). variance frame allows: has been added into beenadded has .

has been removed. been has do not redrawviewer

at at

- frame frame once; sided sided of of

68

-

Open CASCADE Technology & Products

28218 28215 28213 28876 28205 28401 28180

OpenCASCADE Technology& Products

FFP state management (light sources, matrices, clipping planes) has been moved to to moved been has planes) clipping matrices, sources, (light management state FFP default. by disabled Summary well. bemodeled not could ceramic or material some However, plastic. or glass, metal, as such materials basic very of behavior the only reproduce to was possible it so model, (BSDF) material additive simple very used engine tracing path OCCT Previously model. Summary: data). presentation their preserving (while hidden temporarily be should arrays specific when cases in rare useful are types Such added. been have Aspect_TOL_EMP values New Summary: Faces handle to extended StdPrs_ShadedShape::FillFaceBoundaries() Summary: image. the of pixel each on picking performs and size window on based image an prepares algorithm This purposes. testing regression and debugging for tools StdSelect_ViewerSelector3d::ToPixMap() method by provided image into result detection of dump New Summary: OpenGl_Workspace::ApplyAspectFace() in fixed been has changes style Highlighting only when State Material Invalidating OpenGl_VertexBuffer::unbindFixedColor() invalidat now is Manager Shader within state Material The fixed. GL_COLOR_ARRAY displaying after state material FFP Resetting OPENGL_NS_WHITEBACK OPENGL_NS_TEXTURE OPENGL_NS_RESMAT, states Unreachable OpenGl_Sh to added been has state Material tracking The comparison. NCollection_Mat4 - and re GPU onto uploads matrix changes; state Shader in state modifying before one set the already OpenGl_Context::ApplyModelViewMatrix() OpenGl_PrimitiveArray::Render() OpenGl_Context::Bi OpenGl_ShaderManager

: Define Define StdPrs_ShadedShape

Add functionality for dumping results of detection algorithms detection of results dumping for Add functionality Tracing Path

TKOpenGl

EMPTY www.opencascade.

has been extended with equality check operators for proper for operators check equality with extended been has

– ndProgram()

type line consistent with Interior Style. Interior with consistent line type

have been removed. been have -

Performance of Shaded presentation dropped due to FFP FFP to due dropped presentation Shaded of Performance

without defined defined without

Pipeline. Programmable with consistency for tracing path Redesign TY

(line type) and Aspect_TOM_EMPTY and type) (line

compute face edges for tri for edges face compute

com

re not does s important in CAD industry, such as car paint car as such industry, CAD in important s

does not reset active Program at the end. the at Program active reset not does Edges Copyright © 2017 by OPEN CASCADE Page 36

.

matrices. inverted of computation

- (triangulation

has been introduced in selection selection in introduced been has . now checks if a matrix differs from from differs amatrix if checks now materials to support two to support materials

Manager. This avoids redundant redundant avoids This Manager. - Program. active bind already implementation has been been has implementation aderManager

angulation only).

vertices has been been has vertices

into image.

. (marker type) type) (marker -

Faces. only

using ed

- layered

and of of 68

Open CASCADE Technology & Products

28646 28365 28361 28310 28276 28244 28232 28218

OpenCASCADE Technology& Products

coat. glossy/specular one by covered layer, transmissive or glossy, diffuse, base we have Therefore, model. scattering layered BSDF has OCCT modes. vselmode selecti apply AIS_IteractiveContext::AddOrRemoveSelected Summary: compilers: GCC (old) various for fixed been has persistence Transformation mode. in optimized platforms Linux Summary: owners. detected of nce aseque from removed is object the when objects, CurrentDetectedObject of iterator AIS_InteractiveContext::Remove Summary: indices. of amount the Graphic3d_ArrayOfPrimitives Summary: AIS_AngleDimension in added been line has onasame lie points given the if A check Summary: TopoDS_Wire sole for presentation to display possibility The Wire. / Edge Summary: samples at located is examples material a few for sample new The vbsdf via available are parameters m scattering supported previously with the compatibility full keeping allows layer (coat) first the disabling time, At the same effects. different of wide range a produce can layer properties of combinations different it. Balancing under layer the transmi or light reflect simply they can no thickness; have themselves layers The ▪ ▪

NCollection_Vec4::xyz() - template Optimized of strict v possible about the warning invokes which version, returning reference a- with non replaced

\ tcl Apply selection filter in filter selection Apply Graphic3d_ArrayOfPrimitives AIS_AngleDimension

StdPrs_ShadedShape crash on iteration through detected interactive objects. interactive detected through iteration on crash now accepts shape type string for activating standard AIS_Shape standard activating for string type shape accepts now TKV3d on filter.

- \

aliasing rules and leads to incorrect behavior of the reference. the of behavior incorrect to leads and rules aliasing shapes has been implemented. implemented. been has shapes pathtrace_materials.tcl www.opencascade. - been significantly been

buggy behavior of Transformation Persistence compiled on several on several compiled Persistence Transformation of behavior buggy

.

specialized version. specialized of division for /= operator specialized

AddOrRemoveSelected

degree. 180 for exception throws – command.

now checks the amount of vertex data rather than than data rather vertex of the amount checks now

improved by replacing additive model with two with model additive replacing by improved create create com

- modifiable uses compiler since used not is

Highlighted of iterator reset and has been fixed to properly increment the the increment properly to fixed been has

Copyright © 2017 by OPEN CASCADE Page 37

WireFrame

.

TopoDS_Vertex, TopoDS_Edge TopoDS_Vertex,

16 of usage fix

presentation for sole Vertex / Vertex sole for presentation has been fixed to correctly correctly to fixed been has

at Neutral point. Neutral at

- bit indices. bit

NCollection_Vec4

odel. All new new odel. All

selection selection detected detected

iolation ts it to it to ts

and of of 68

-

Open CASCADE Technology & Products

28487 28469 28466 28460 28390 28376 28369

OpenCASCADE Technology& Products

Smaller value allows decreasing visible noise and get final result (sometimes much) much) (sometimes result final get and noise visible decreasing allows value Smaller by used value clamping control to possible now is It Summary: redraw. layer immediate vrepaint Draw command managing vcaps Draw command Graphic3d_RenderingParams::RenderResolut option managing vrenderparams Draw command settings. MSAA with combined be cannot but Sampling), Sc buffer. window off of allocation for factor scale Graphic3d_RenderingParams::RenderResolutionScale option New Summary: Graphic3d_ArrayOfTriangles as Face StdPrs_ShadedShape Summary: WGL_AMD_gpu_association using size memory GPU total of amount fetch to possible now is It WGL_AMD_gpu_association Summary: in V3d_View.cxx fixed been has variables of Misuse Summary: Filters. Selection by rejected not entity detected SelectMgr_PickingStrategy_OnlyTopmost method in added property New Summary: Summary: vrenderparam by be controlled can value this Now cases. all for suitable not it is but properties, these between compromise areasonable provides value default The convergence. image for time more may require trac path keeping allows value higher The disappear. even or darker become may caustics that is drawback main The bias. extra introduces it but faster, of Super analog (as higher or resolution) (lower 1.0 be below can ale factor

OpenGl_Caps::useSystemBuffer

StdPrs_ShadedShape AIS_InteractiveContext AIS_ColoredShape TKOpenGl V3d_View::SetZoom() Tracing Path

Tcolgp_Array1OfDir

SelectMgr_PickingStrategy OpenGl_Context s

AIS_InteractiveContext::PickingStrategy() command. command. www.opencascade.

add option for rendering with lower resolution. lower with rendering for option add -

- pre to ceased has

Expose radiance clamping setting in path tracing mode. tracing path in setting clamping radiance Expose – option with beenextended has

has been extended with option – option with beenextended has

. - extension.

screen rendering buffers relative to native resolution of resolution native to relative buffers rendering screen

-

fix endless recursion due to misprint. to due recursion endless fix

at the next step. next the at –

has been extended with option – option with extended been has

do not create redundant copy of normal array. normal of copy redundant create not do performs checks which then ignored. then which checks performs com –

before these normal are stored into into stored are normal these before

Copyright © 2017 by OPEN CASCADE Page 38 topmost add processed within normal of array allocate

read GPU memory using using memory GPU read -

option.

maxrad maxrad

defining picking strategy has been been has strategy picking defining

topmost the only picking allows .

-

strategy. picking only

useWindowBuffer immediate

engine. tracing path ing unbiased, but unbiased, ing

ionScale

of parameter . The strategy strategy . The

rendScale

for testing testing for

defines

.

of of for for 68

Open CASCADE Technology & Products

28758 28744 28741 28740 28734 28727 28698 28644 28630 28625 28621 28615

OpenCASCADE Technology& Products

OpenGl_View::blitBuffers method in been removed has check macros Redundant Summary: type Graphic3d_BT_RGB_RayTraceHdrLeft buffer New OpenGl_View::BufferDump() method in been added has buffers HDR RayTracing dumping for Support Summary: function. to added have been formats and GL_RGB GL_RGB8 Missing Summary: OpenGl_View::copyBackToF Summary: arubber for points screen last the and first the connecting line boundary closing the create automatically to necessary New flag IsFilling() Summary: occTexture2D In in method fixed been has textures 1D for check Proxy Summary: AIS_RadiusDimension::IsValidAnchor() Summary: NumberOfDisplayedStructures() Summary: SelectMgr_AssemblyEntityOwner Summary: Summary: oniOS. work stencil The Summary: implem been has method interface corresponding The Summary:

Declarations.glsl

AIS_RubberBand OpenGl_FrameBuffer AIS_ColoredShape::UnsetTransparency() AIS_MultipleConnectedInteractive - TKOpenGl Implement exporting generated image to HRD/EXR images. HRD/EXR to image generated exporting Implement OpenGl_FrameBuffer OpenGl_Texture StdPrs_ShadedShape

properly to fixed been have capping) (e.g. algorithms visualization based

Graphic3d_CView TKOpenGl .

AIS_RadiusDimension www.opencascade.

enabling MSAA leads to black screen on OpenGL ES. onOpenGL screen black to leads MSAA enabling

from classfrom AIS_RubberBand , occTexture1D/3D aliases are now defined similarly to to similarly defined now are aliases occTexture1D/3D ,

- -

- band.

-

add the option to create or not a closing boundary line. boundary aclosing not or create to option the add fix initialization of 1D texture. 1D of initialization fix . ront()

eliminate GL errors within Core Profile in in Profile within Core errors GL eliminate .

– missing GL_RGB8 format. GL_RGB8 missing

stencil. with Buffer Render initialize com create do not – . virtual.

.

mark methods methods mark Copyright © 2017 by OPEN CASCADE Page 39

check.

- Poly_Connect

ented. OpenGl_Texture::Init()

allows choosing whether it is is it whether choosing allows remove unused private class class private unused remove

fix misprint in in misprint fix

has been implemented. been has

is not implemented. not is MinMaxValues()

getColorDataFormat

need. without

and and

. of of

68

Open CASCADE Technology & Products

28794 28793 28815 28788 28789 28778 28495 28762

OpenCASCADE Technology& Products

managing DOF effect have been introduced in Graphic3d_RenderingParams in introduced been have effect DOF managing CameraFocalPlaneDist parameters New Summary: mode. mapping tone Graphic3d_ToneMappingMethod enumeration The Summary: trees. many a single that it so to make BVH_Builder::Build() context Temporary by value. Summary: 1 Face). than is there more (if threads multiple using Isolines computing enables which default), StdPrs_WFShape::Add() Summary: implemented: been have changes following The S OpenGl_View_Raytrace.cxx. in been fixed has camera and stereo sampling adaptive between Interaction tracing). andpath tracing (ray functions two into split been has generating ray for function OpenGl_View.hxx command. - parameters The RaytraceBase.fs to logic generation ray New ummary: ummary: ▪ ▪ ▪ ▪ ▪ ▪

New method SelectMgr_SensitiveEntitySet::SetBuilder() overrides default BVH BVH default overrides SelectMgr_SensitiveEntitySet::SetBuilder() method New SelectMgr_ViewerSelector::SetEntitySetBuilder() method New BVH Global NCollection_Handle BVH_Constants better for files header to beenmoved have classes in Selection methods Several tree builder. tree SelectMgr_SensitiveE for builder Tree BVH default defines set. object BVH_Object in classes handle algorithms. OCCT by expected depth tree maximum including trees, BVH with used inlining.

Ray tracing tracing Ray tracing Ray StdPrs_WFShape TKV3d TKV3d

www.opencascade. -

-

- builders are defined instead of allocating a new builder for each each for builder anew allocating of instead defined are builders extend API for accessing and assigning BVH builders. BVH assigning and accessing for API extend focal

.

make - -

Implement tone mapping. tone Implement depth Implement

-

added new enumeration defining common constant values values constant common defining enumeration new added BVH_Builder

const BVH_Builder::Build() and

now accepts new argument theIsParalle argument new accepts now

-

BVH_Properties, BVH_Builder, BVH_Tree, BVH_Tree, BVH_Builder, BVH_Properties,

threads. multiple using Isolines compute to option Add - has been replaced with Standard_Transient with replaced been has

aperture

com BVH_Constants_MaxTreeDepth - of

Copyright © 2017 by OPEN CASCADE Page 40 building for shared be safely could instance - field effect. field

have been added in vrenderparams added been have has ceased to be stored as class field(s) field(s) class as stored be to ceased has

in added has been

and

adde been has

CameraApertureRadius

builder propagating for

TKOpenGl

ntitySet

choosing d for

l

defining the the defining

( FALSE .

.

. of of

by by 68

Open CASCADE Technology & Products

28850 28811 28004 28801

OpenCASCADE Technology& Products

New option theToCheckOverlapAll option New elements. detected of Summary: New ( attributes dimension between distance the of projection to equal is dimension of value The AIS_LengthDimension Summary: vtexture command Draw OpenGl_Context::SetTextureMatrix() in fixed been has vector translation coordinates texture of handling Inconsistent - sub dedicated making deprecated marked Drawer. in enabled is mapping texture if coordinates AIS_Shape AIS_TexturedShape Summary: labels. of number the to corresponding intervals virtual of positions the at displayed be will the labels case In this of intervals. the number match not does number whose AIS_ColorScale:: scale. color the on values and maximum AIS_ColorScale::SetHueRange() properties New intervals. color between transition smooth AIS_ColorScale::SetSmoothTransition() IsSmooth property New bottom. the to symmetrical top the on margin adds now bar color The flag. alignment AIS_ColorScale Summary: BVH_Object Missing accessor ::IsDirty() Select3D_SensitivePrimitiveArray initialization faster for groups into array and to split elements detected of map index the to keep options New implemented. been has group the in entity detected last the accessing for interface Select3D_SensitiveGroup ▪ ▪

vlengthparam - - trsfTrans, trsfTrans, setFilte

points) in this direction. in this points) Length dimension along Horizontal/Vertical axes Horizontal/Vertical along dimension Length Select3D_SensitivePrimitiveArray AIS_ColorScale

Merge t Merge

and and

state. tree BVH checking for

AIS_ColoredShape www.opencascade.

and - now draws labels using Graphic3d_VTA_CENTER using labels draws now

SetLabels() SetLabels() exturing support into into support exturing ing can be handled now using AIS_Shape using now be handled ing can mapp texture class redundant. class

DRAW. in direction length custom sets command - .

trsfScale -

setAnisoFilter interface interface

handle to extended been has theMinAngle - extra of

-

to force overlap check for all entities in the group. The The group. the in entities all for check overlap force to t equal not list labels defining allow

now allows now

and and com labels, free of sequence the setting allows now

define the hue angles corresponding to minimal minimal to corresponding angles hue the define

has been added in in added been has

large arrays have been added in in added been have arrays large

UV with presentation Shaded compute now

-

trsfAngle Copyright © 2017 by OPEN CASCADE Page 41 .

setup texture filtering. texture setup .

has been added in in added been has setting a custom dimension direction. dimension acustom setting AIS_Shape

and

di for AIS_TexturedShape has been added in been added has

- define transformation matrix; transformation define

map index to keep option add new arguments: arguments: new splaying splaying

theMaxAngle

of rid get and class

BVH_Geometry

list. intervals o colorscale

has been has

vertical vertical directly

from from with with

and of of

68

Open CASCADE Technology & Products

28912 28895 28890 28927 28889 28888

OpenCASCADE Technology& Products

Summary: Summary: V3d_View. removed invalid accessing cause Summary: multi provide to implemented been have modifications following The Summary: in fixed been has presentation Connected within rmation with transfo structure Computed of Computation Graphic3d_CView::SetComputedMode() in methods beenfixed has structure Computed of box bounding Uninitialized V3d_View::SetComputedMode(). method from removed been has update view Implicit on hlr when times Summary: invalidated. properly be could instance Graphic3d_StructureManager DeviceLost displayed. object(s) Summary: manager. V3d_View::Remove method New removed. is view the ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

New structure OpenGl_ArbSamplerObject structure New OpenGl_Context::BindTextures() OpenGl_Raytrac OpenGl_Texture OpenGl_Texture OpenGl_Sampler OpenGl_Context::BindTextures() Graphic3d_TextureParams Graphic3d_AspectFillArea3d vshaderprog AIS_Shape In in Drawer. enabled is mapping texture if coordinates UV occSampler2 as program GLSL specific within explicitly declared occActiveSampler occSampler ES 3.0+. within OpenGL loaded now are functions Related functionality. related of usage parameters. texture of onchange Object Sampler OpenGl_Texture from directly object in OpenGl_Context resource sharing for used identifier texture OpenGl_Workspace from removed been has code related The textures.

TKOpenGl

V3d_View::SetComputedMode() Declarations.glsl, occActiveSampler Declarations.glsl, V3d_View AIS_InteractiveContext has view first the just again, view the display then and views all closing After

from been moved has flag PrsMgr_Presentation::Compute() www.opencascade.

and and

has been called. been has

, etc. - now accepts Shader source code as parameter. as code source Shader accepts now -

multi

View specific AIS_ColoredShape

occSamplerBaseColor aliases with eGeometry now holds holds now been has

class new inherits -

texture support. texture be should samplers texture Additional compatibility). (for

trihedron and grid structures from structure structure from structures and grid trihedron erases () Driver same the sharing Viewers all that so , extended to hold texture parameters structure. parameters texture hold to extended

OpenGl_Sampler com

Graphic3d_Structure stores texture unit for mapping texture. mapping for unit texture stores now creates bindless textures taking Sampler Sampler taking textures bindless creates now

should not hold V3d_View handle which will will which handle V3d_View hold not should

Copyright © 2017 by OPEN CASCADE Page 42 textures. of array stores now

.

now compute Shaded presentation with presentation Shaded compute now and

context now manages the set of active active of set the manages now context

- OpenGl_NamedResource

HLR calculation is performed multiple multiple performed is calculation HLR automatically recreates immutable immutable recreates automatically

::ReCompute() Graphic3d_GraphicDriver

is declared f declared is

field. class as instance .

to renamed been has

should be removed if if be removed should

- texture support: texture or platform or .

occSampler1, .

(main) and (main)

and holds and holds

- . neutral neutral

of of to to 68

Open CASCADE Technology & Products

29055 29051 29031 29007 28945

OpenCASCADE Technology& Products

StdPrs_ToolTriangulatedShape::ComputeNormals() - triangulation for slow Summary: library. image system using on Windows provided is library FreeImage using without formats JPEG PNG, BMP, in images write and read to possibility The Summary: Obsolete Summary: Prs3d_Drawer:: Summary: up. beencleaned has description and groups) AIS_InteractiveContext added. AIS_Interacti method New missing. is iterator Summary: Poly::ComputeNormals() Poly::ComputeNormals()

code TKOpenGl Prs3d_Drawer::SetShaderProgram() AIS_InteractiveContext StdPrs_ToolTriangulatedShape::ComputeNormals() Image_AlienPixMap

has been removed from OpenGl_PrimitiveArray::Render() from removed been has

www.opencascade. SetShaderProgram()

only surface. only

-

ON tuned OIT with highlight dynamic transparent of color wrong

size. triangle considering normal averages now - triangulation for header has been restructured (methods moved into into moved (methods restructured been has header veContext::DetectedCurrentOwner()

-

fallback using using fallback

com

-

Copyright © 2017 by OPEN CASCADE Page 43

owners Detected accessing for method the now takes into account HasOwn*** account into takes now

only surfaces. only

Wincodec

has no effect. no has

.

now calls calls now

extremely is

been has

flags. . of of

68

Open CASCADE Technology & Products

Data Exchange

28356 28315 28257 28250 28317 28235 28082 28055 28444 28389 28044 27561 28840 28680 25388 24729

OpenCASCADE Technology& Products

to shapes. connecting without or with presentation AP2 STEP Summary: XCAFPrs_Style::SetVisibility() code. hash computing for used integers of array to address XCAFPrs_Style::HashCode() Summary: Some Summary: fixed. been has STEP from/to datums of import and export The Summary: XUpd command Draw corresponding The now translators IGES and STEP UpdateAssembly() - Top compounds. Summary: New tool STEP. and in OCAF implemented been have Views Saved for structures Data Summary: end. the at EOL without files ASCII and files, small empty or of case handle properly to improved been has reader STL file. empty an of creation of instead error reports file STL writing when empty triangulation for check New read. when loop endless Summary: usability and Performance Summary:

▪ ▪ ▪ ▪

in assemblies for implemented been has update down geometric tolerance modifiers have been fixed in STEP. in fixed have been modifiers tolerance geometric

Method Method (packages tools and structures data Obsolete RWStl RWStl_Reader class abstract to separated is file STL of reading Basic removed. inheritance. d target the structures; data to particular bound not ClippingPlaneToolDriver

Wrong number of geometric tolerance modifiers. tolerance geometric of number Wrong Import/Export GD&Ts without semantic. without GD&Ts Import/Export XCAFPrs_Style references. shape of list incomplete has object XCAF datum DG&T Planes. and Clipping Views Saved for structures data Implement Exchange Data Since OCCT 7.0.0, exporting a curve to STL creates a file that results in an an in results that a file creates STL to a curve exporting 7.0.0, OCCT Since Add Add 42 import and export of GD&Ts have been implemented with only only with implemented been have GD&Ts of andexport import 42

package uses Poly_Triangulation uses package

RWStl::Read()

UpdateAssemblies() www.opencascade.

(parent partial for used method

d improve been have tools and Writer Reader STL -

rewrite the STL Reader/Writer STL the rewrite

within usage memory uninitialized - top the use

support function has been corrected to avoid casting structure structure casting avoid to corrected been has function

com

ateAssemblies allows storing and processing Clipping Planes. Clipping processing and storing allows does not reset assigned colors anymore. colors assigned reset not does

s

method for top for method

reading multi reading Copyright © 2017 by OPEN CASCADE Page 44

OCAF. filling after update down

StlMesh mesh. triangular represent to - - only) update is nowavoided domain STL files. STL domain that so added been has .

has been added. been has -

ata model can be bound via via be bound can ata model

assembly of update down

and and XCAFDoc_ShapeTool ::HashCode().

StlTransfer

:

is which ,

now now

) are of of 68

it

. .

Open CASCADE Technology & Products

28797 28790 28748 2 28732 28715 28738 28641 28589 28449 28445 8

985

OpenCASCADE Technology& Products

RWStepVisual_RWPresentationStyleAssignment::ReadStep method in added been has handle null against Protection Summary: Axis2Placement3d of Building Summary: changed. really XCAFDoc_GraphNode Summary: - sub or GUID attribute XCAFDoc_AssemblyItemRef items andannotated parent roles play notes where attribute, by CAFDoc_GraphNode items annotated to linked are hive. Notes items annotated XCAFDoc_AssemblyItemRef by is represented item Annotated hive. notes the under label XCAFDoc_Note class base from derived attribute an is A note correspondingly. hives operates It 0:1:9. label fixed under located is tool The structure. product hierarchical in the New tool Summary: nonManifold of use The Summary: tool. color to added been have RGBA processing attribute Quantity_ColorRGBA Summary: BRepToIGES_BRShell::TransferFace. method in beenadded has surfaces infinite for check Additional Summary: fixed. been STEP has from reading during Plane Annotation of orientation The Summary: StepToTopoDS_TranslateVertex in beenadded has STEP from translation during null vertex for Check Summary:

and as a surface color storing transparency in XCAFPrs_Style transparency storing color surface a as and XCAFDoc_ViewTool two basic entities: notes and annotations located under 0:1:9:1 and 0:1:9:2 0:1:9:2 and 0:1:9:1 under located annotations and notes entities: basic two

Wrong orientation of Annotation Plane in GD&T (Writing). in GD&T Plane Annotation of orientation Wrong with face Writing in GD&T. Plane Annotation of orientation Wrong file. STEP attached reading during raised is Exception XCAFDoc_GraphNode XDE. to mechanism Annotations Integrate file. STEP attached of reading by produced shape Invalid alpha Support crash. application to leads file STEP specific Opening

www.opencascade. shape index. shape

has been fixed to call Backup call to fixed been has

- is now used instead of of instead used now is channel of color. of channel

flag flag

NaturalRestriction has been been has

is able to store note/annotation labels attached to items to items attached labels note/annotation to store able is defi

attribute attached to a separate label under the under label a separate to attached attribute in STEP has been fixed. been has STEP in

does not restore child on on child restore not does

optional with label a to reference weak a nes .

com Shape to added

Copyright © 2017 by OPEN CASCADE Page 45

Quantity_Color

flag to IGES. to flag

method only when the data is is data the when only method Processing.

Undo

-

roles. child

attached to a separate aseparate to attached .

in

. XCAFDoc_Color

for Methods .

of of 68

Open CASCADE Technology & Products

Draw 28233 28906 28162 25209 28313 28281

OpenCASCADE Technology& Products

vnormals of Syntax vnormals command Additionally, mes of node each Option normals. displayed of length the well as as its surface of space in parametric a face of along and VU axes normals of the number New normals. Summary: application: Draw in added been have features following The Summary: vperf command Unused Summary: StandardCommands.tcl procedure The StandardCommands.tcl. Summary: samples. Qt context local Deprecated QABugs in eliminated been have methods context local Deprecated objects. displayed Activate methods: new Two V command draw general New Summary: ▪ ▪ ▪ ▪

normals The check button item "Extended view commands" has been added In Views Views In added been has commands" view "Extended item button check The New commands commands New pickf command new The These added. been has Commands" measurement and "Vector of category New pattern. global by matched variables view) (from erasing or (destructing) deleting allow They category. management" variable. new all It category. functions. other and objects, other to points of distances of computation products, dot and cross as such vectors, 3D and 2D using calculations simple allow commands mouse. by zoom/pan/rotate view manipulating allow that buttons of set the window main the in shows/hides It menu. .

Extend Draw functionality with some new useful commands andfeatures. commands useful new some with functionality Draw Extend command unused Remove Context. Local deprecated of usage Eliminate Draw command command Draw

lvarpop

lvarpop c

ommand shows a variable number of normals. It is possible to specify specify to possible is It normals. of number variable a shows ommand

ashape. to h associated www.opencascade.

ows extracting a face picked with mouse included in a shape as a as a shape in included with mouse picked a face extracting ows is similar to normals to similar is

is needed for correct work of of work correct for needed is

of work correct for implemented been has methods have been eliminated in MFC standard sample and sample standard MFC in eliminated been have methods has been removed. removed. been has del

normals

r

and elation and

has been implemented to display normals in 3D view. view. in 3D normals display to implemented been has has been added in "DRAW Variables management" management" Variables "DRAW in added been has Deactivate

should be extended to show a variable number of number variable a show to extended be should era vperf com

replaces the old the replaces

command. Copyright © 2017 by OPEN CASCADE Page 46 Variables in "DRAW been added have .

all for mode selection given the switch

UseMesh

relation

also displays normals at normals displays also ObjectCommands

lmatch

lmatch

commands.

in defined

in defined

and of of 68

Open CASCADE Technology & Products

28829 28404 28367 28360 28381 28350 28333 29048 28964

OpenCASCADE Technology& Products

In In Windows. Summary: initialized. are views no if loop the entering avoid to corrected method The Draw_Window state. method New view. Summary: ( variable A Summary: fixsmallfaces command Draw New Summary: argument with False called OSD::SetSignal() Summary: time). first the (for displayed actually is shape the until data Class Summary: X Summary: Draw::GetInterpretor() method static with now interpreter use DRAW of Components Summary: apipe. from dding dding s ave now prints an error on store failure store on error an prints ave now fgetws() Draw_Window

DBRep_DrawableShape d CSF_TestStriptsPath is avoided if avoided is is started DRAW when scripts test to paths efault

Avoid setting default paths to scripts and test data folders if set externally. set if folders data test and scripts to paths default setting Avoid tool. ShapeFix_FixSmallFace apply to Command command The X applications. custom for needed interpreter TCL DRAW for Access The command command The Avoid useless preparation of display data when shape is not shown. not is shape when data display of preparation useless Avoid

s on stream input redirecting when immediately up hangs still DRAWEXE ave should print an error on store failure. onstore error an print should ave

Draw_Viewer::Select() Draw_Window::IsMapped()

using X using www.opencascade.

s on Linux if Linux on s exception FPE unset to corrected been has method

l ib now does not exit application on closing window. onclosing application exit not does ib now

dsetsignal

whatis

variable global shared of instead is used instead of ReadConsoleW() of instead used is

display of generation postpone to changed been has )

hangs when selection is activated with no opened noopened with is activated when selection hangs is already defined in the environment. in the defined already com

removes small faces in the shape. in the faces small removes does not work on Linux properly. on Linux work not does

Copyright © 2017 by OPEN CASCADE Page 47 called by called

has been added for checking window window checking for added been has

whatis

command has been been has command

input reading for

the

relevant

of of 68

Open CASCADE Technology & Products

Samples 28225 28148 27737 29042 29025 29018 28999 27398 23551 28353

OpenCASCADE Technology& Products

Qt Browser Widget Widget Browser Qt Summary: to moved been have samples MFC of files Data folder. data common Summary: UTF to conversion charcode of algorithm The Summary: macros. standard of usage by replaced been has CDL from by WOK generated classes in sample RTTI OCCT of definition to approach Obsolete Summary: panning. and rotating g, zoomin solids, selecting files, STEP importing New Summary: into moved been have samples in used shapes Data Summary: ▪ ▪ ▪

samples//UIKitSample DFBrowser in available is tool wser DFBro of Sample C . command inspector.bat use sample, the start To ON/OFF. Inspector switches option CMake

M

ake procedure has been extended to compile Qt tools. BUILD_Inspector tools. Qt compile to extended been has procedure ake IESample old uses OCAF on sample MFC platform. iOS for sample Viewer 3D Add samples. MFC in folders data to paths hardcoded Remove Technology CASCADE Open to Widget Browser Qt Integrate to repository OCCT of subfolder samples in contained models data Move

www.opencascade. tool can be started from DRAW from started be can tool (

Inspector

characters special with paths to files write cannot

)

distribution: OCCT in integrated been has

sample that uses UIKit uses that sample

com

-

style definition of aHandle of definition style Copyright © 2017 by OPEN CASCADE Page 48 - improved. been 8 has $CASROOT/data samples/tools/TInspectorEXE

command.

CSF_OCCTDataPath using

INSPECTOR

allows It added. been has

directory.

- class.

pload for key

location.

of of / 68

.

Open CASCADE Technology & Products

Configuration

28324 28312 28287 28285 28198 28932 28197 28135 28110 26800 26866

OpenCASCADE Technology& Products

libstdc++, Libc X Summary: CSF_AviLibs Unused supported. now are procedure genproj.tcl lzma and zlib, libraries: External Summary: CMake with files .pdb of Installation Summary: from Standard_EXPORT subclasses. Summary: runtime. during signals FPE C Summary: INSTALL_EIGEN possib It is algebra. linear for methods of set a provides library This procedure. C to added been has library template party third "Eigen" of Support Summary: Variable C Summary: on Windows. input Unicode in UTF expected now are scripts test Tcl genproj by generated projects Studio Visual All beeneliminated. has ANSImethods of Usage Studio. Summary: in added been FILES between consistency of Check and Summary: c M M ode. ake variable variable ake 3.7. ake

src OpenGl_StateInterface ++ has been specified as C++ library compatible with C++11 instead of of instead C++11 with compatible library C++ as specified been ++ has

CMAKE_ANDROID_STL_TYPE folders.

C or C from enabling signals FPE Add external as library template Eigen Support genproj

genproj.tcl genproj.tcl copy not does install CMake

genproj.tcl Adopt building script for using built using for script building Adopt l of multi instead charset Unicode Specify Add missing macro macro missing Add e

which is no more updated within X within updated more no is which

M

genproj to install Eigen headers to /inc to headers Eigen install to ake now use Unicode character set. character Unicode use now ake

BUILD_ENABLE_FPE_SIGNAL_HANDLER

variable www.opencascade.

macro has been implemented for methods of inheritable classes classes inheritable of methods for implemented been has macro – –

ensure consistency between FILES and actual content of of content andactual FILES between consistency ensure support support

procedure. added to CMakeLists.txt to added been has

in lower or 10.8 X OS targeting while error compilation CSF_ZLIB

.

Standard_EXPORT

corrected. been has

com

available is and actual content of inc of content and actual pdb - F

handles Harness Draw by default. 8 encoding f

Copyright © 2017 by OPEN CASCADE Page 49 and and M mpeg

files in in files ake. c CSF_LIBLZMA - ode. in Android cross Android in by generated aproject for useful ,

for Android platform buil platform Android for RelWithDebInfo

dependency.

Eigen if folder

- byte in project files for Visual Visual for files in project byte to

OpenGl_StateInterface

enable to added been has

within project generator. project within

. has been dropped. been has

-

and in support compiling

mode. library library src t

via C via

M folders has folders

build ake is used. used. is

M ake. inc of of 68

Open CASCADE Technology & Products

28701 28663 28658 28502 28439 28384 28335

OpenCASCADE Technology& Products

adm/vcver.bat from (derived defined are variables additional scripts, In environment beenrevised: has command genproj the of syntax The vc141 specifier format with in added is 2017 Studio Visual of Support Windows) on (default T - run same the use 14.1), are they 14 (now at remained and toolset compiler of version the Since 2017. VS for projects generate to required is above or 3.7.2 C in added been has (15) 2017 Studio Visual of Support Summary: file in defined are settings necessary The to links as #12345) form the (in messages commit in Git issues Mantis to OCCT show references will now client TortoiseGit Summary: updated. been have search for libraries Tcl/Tk of Names 3 used all contains Macro Summary: thread_local check The Summary: adm/templates/DRAWEXE.vcxproj.user.in. Variable Summary: remov been have searching for names library tcl/tk of variants Hardcoded libraries. Librar sync Summary:

in OCCT binaries OCCT of installation for folder the of he name ▪ ▪ ▪ ▪ ▪ ▪

hronized y

THIRDPARTY_PRODUCT UWP is considered as as considered is UWP VCPROP VCFMT VCLIB aWokStation variable local of name Obsolete Option IDE specification; IDE VCVER=141 VCVER theFormat adm/cmake/occt_csf.cmake file from names Add support of VS 2017. VS of support Add tracker. bug with TortoiseGit of Integration execute Cannot using when error Compilation

Add FPE signals enabling from MSVC. from enabling signals Add FPE

C __has_ with each other. each with

M IDE

is is defines name of the subdirectory specific to VS version; it i it version; to VS specific the subdirectory of name defines CSF_FPE

VCVER=vc141 VCLIB=vc14 VCVER=vc141 for exceptions: a few with is "NativeDesktop" for normal builds or "Universal" for UWP builds. UWP for "Universal" or builds normal for "NativeDesktop" is ake ake

VCVER keyword within C within keyword ): ):

- third same the time,

rd is renamed to Format to renamed is - . www.opencascade.

party party uwp VCLIB=vc14 uwp – also also feature(cxx_thread_local)

names library 3rdparty

without optional suffix – suffix optional without

dll/li remains remains DRAW.exe .

a has been added to the file file the to added been has

has been been has separate platform ( platform separate

l brary brary ang. vc14

party products as for VS 2015 (14) can be used. be can (14) VS 2015 for as products party with draw.bat. with com - . thread_local uwp;

; .tgitconfig genproj

directories ( directories to create updated

Copyright © 2017 by OPEN CASCADE Page 50

the

uwp; are are tracker. bug the in issue corresponding

generator and relevant environment, environment, relevant and generator present in two places and are and places two in present uwp

custom.bat/sh

located in the root folder root the in located alternative to to alternative has been added for using using for added been has within X within M

ake build procedure. C procedure. build ake

equivalent by replaced is are now used to search search to used now are a

, variable separate

c earlier. 7 or ode

wnt -

standard layout layout standard files).

as same the s ), not part of of part not ), VCVER

and they they and and for and for .

ed.

which , see , see M

ake ake of of n

o

68

t

Open CASCADE Technology & Products

28922 28915 28983 28838 28822 28787 28785 28920 28769 28701

OpenCASCADE Technology& Products

hasOverlap() methods and templated is class that because Standard_EXPORT SelectMgr_Frustum::hasOverlap() Summary: redundant avoid to hidden been has headers API public in OCCT headers external of inclusion The Summary: CurrentDirectory Message_Messenger macros The GL_GLEXT_LEGACY header in OCCT name with same of methods definition of in place now are undefined headers) macros The Summary: genproj HAVE_RelWithDebInfo option The mode. Release Summary: MSVC. 3 Summary: to added been has title Window DevEnvDir General 2017. VS supporting for modified been have samples Qt and MFC Summary: Command

rdparty_macro.cmake ▪ ▪ ▪ ▪

s. The usage of variables with name Status name with variables of usage The s.

- of third search for specification format "vc" in after digits first two only Use UWP); and desktop for (separately 2017 VS of presence Detect All supported variants supported All VS specification; for interface user in space more Have guides/buiding/msvc libs; vcxproj . It allows analyzing user crash reports or profiling performance is performance profiling or reports crash user analyzing allows It .

building/packaging issues. building/packaging Font_B collision. of place in headers X11 from coming macros Undefine C files. msvc.bat of Unification genconf

genproj m

env.bat. to added been has AddPrinter

Status, Convex, Opposite Status, Convex, ake ake

– files have been created for all MFC samples. MFC all for created been have files R Remove useless useless Remove www.opencascade.

epFont

3rdparty_macro.cmake. within layout OCCT handle is now defined only if not already defined. already not if only defined now is has been removed from from removed been has has been amended to: amended been has

– OSD_Process.hxx in undefined now is macro same name. same the with amethod having definition class

in info Debug with files project VS generating for option add

now can also search for a product using OCCT layout for for layout OCCT using a product for search also can now

within undefined now is headers) WinAPI from (coming –

headers. OCCT within headers FreeType include not do start

.

of

has been added for generating PDB files within within files PDB generating for added been has

com

files. msvc.bat in command VCVER

.

Copyright © 2017 by OPEN CASCADE Page 51

SelectMgr_Frustum::hasOverlap()

variable are documented in in documented are variable

and

avoided. now is Standard_EXPORT

FillSolid

in defined are

(coming from X11 from (coming .

sues.

file. lxx

party party from from dev dev of of

68

Open CASCADE Technology & Products

29056 29016 29011 29009 28971 28962 28959

OpenCASCADE Technology& Products

GUI. CMake and line command from both products VTK install to possible now is It Summary: Summary: closed. is View 3D the when application the exit commands DRAW viewer. 3D command DRAW corresponding The show svgdiff.bat script helper New Summary: Summary: - in 32 procedures optio corresponding The executables. Summary: extension additional with saved is copy its newer, is file the target if same); the already are files adm/templates from template msvc.bat files updating When etc.). Summary:

side -

.bak

by It is not possible to install VTK products. VTK install to possible not is It genproj.tcl images. SVG of difference visual get to way a Provide to due 2.26+ glibc with compatibility Fix genproj genproj.bat

- side side

.

DRAW. bit visual difference for SVG images in TortoiseGit. in images SVG for difference visual diffimage www.opencascade.

- -

provide warning on update of scripts in root folder ( folder in root scripts of update on warning provide CSF_dl. of definition missing add

n has been added to allow testing of memory of testing allow to added been n has

-

add

and and , procedure procedure ,

has been added in /adm in added been has and /LARGEADDRESSAWARE vinit diffimage com draw.bat/sh

Copyright © 2017 by OPEN CASCADE Page 52

option a new have now genproj

xlocale.h

in images compared display can now

will give a warning (unless the the (unless warning a give will copying by folder root the in

folder. It can be used to to beused can It folder.

removal. 32 to option

-

exitOnClose

msvc.bat - target bit -

hungry of of

to to 68

,

Open CASCADE Technology & Products

Coding

28263 28202 28201 28417 27407 28832 25572

OpenCASCADE Technology& Products

together as unity builds (partially): builds unity as together compiling of case in and headers system with conflicts avoid to corrected been has Code files: included of order different dueto problems avoid to system build the in globally defined are macros compiler additional used, are ers head precompiled When BUILD_USE_PCH option CMake by triggered is It introduced. been has headers precompiled of byusage OCCT of builds CMake accelerate to Possibility Summary: MMgt_T class Obsolete Summary: The following modifications have been introduced: been have modifications following The Summary: HLRAlgo.hxx from removed been have declarations forward Redundant Summary: Method Summary: removed. been have MSVC on warnings disabling pragmas Useless

▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

- Non file); (header definition class to moved been have methods trivial of Bodies Uninitialize IvtkTools with corresponding or PXX merged to renamed are code containing files HXX WNT_Uint.hxx header Useless TKSTEP in eliminated are functions andglobal macros of definitions Duplicated TKV3d in variables defined locally Some __STDC_FORMAT_MACROS GL_GLEXT_LEGACY STRSAFE_NO_DEPRECATE NOMINMAX PCH builds by inclusion of VTK headers. VTK of inclusion by builds PCH files; CXX windows.h in defined macros with conflict Draw_Viewer.cxx in avoided is macro X11 with conflicting variables local of Usage defined. always use is own glext.h OCCT's headers; in system warnings other and #pragma, by deprecated as library C standard of functions declaring prevent to Windows windows.h class Unused Local variables in AIS_ConcentricRelation.cx variables Local SquarePConfusion

Add square square Add time. up compilation speed to HEADER PRECOMPILED Using MMgt_T Clean up definition of class class of definition up Clean on warnings compiler Eliminate

possible;' when reference, by returned now are types primitive

fixed; been have d fields is defined on Windows to prevent defining defining prevent to on Windows defined is s

www.opencascade. - in non disabled warnings compiler avoid to corrected are classes hared Prs3d_PlaneSet

P

s c hared

onfusion()

;

can be replaced by replaced be can

and

has been added to simplify code. simplify to added been has

has been replaced by by replaced been has GLX_GLEXT_LEGACY d;

is defined to have standard C print format macros macros format print C standard have to defined is

_S and Graphic3d_MaterialAspect com

method to the Precision class. Precision the to method

is removed; is removed. been has

HLRAlgo.hxx CL_SECURE_NO_WARNINGS

Copyright © 2017 by OPEN CASCADE Page 53

Standard_Transient

and

;

TKHLR Standard_Transient

are defined to ensure that only only that ensure to defined are .

min are renamed to be unique; be to renamed are x are renamed to avoid avoid to renamed are x

and and

(disabled by default). (disabled

max .

.

are defined on on defined are

.

by macros as .

of of ;

68

Open CASCADE Technology & Products

28693 28930 28643 28636 28580 28441 28431 28403 28799 28316

OpenCASCADE Technology& Products

ones. new the to aliases deprecated as preserved are definitions Old Image_F e.g. values, old of easy renaming for scheme suffix have values enumeration The Image_Format Image_PixMap class within enumeration Enumeration Image_Format Summary: optimizer. GCC Graphic3d_ArrayOfPrimitives Summary: deleted; Methods samples in removed been have paths to hardcoded shapes intermediate of writes Useless Summary: Quantit Quantity_PlaneAngle, Quantity_Coefficient, Quantity_Ratio, (including deprecated to Aliases Summary: return Summary: indentation – warning compiler GCC eliminate to revised been has OCCT Summary: space. 3D in direction the concerns sqrt() gp_Dir2d(1,0) to calls The normalization. with constructors Summary: variable(i). cycle of elements for 0 used index Constant Summary:

Array()

B that is called from within gp_Dir2d(double,double within from called is that ormat_Gray \ V3d_Parameter y_Length, IGESBRep:: R

mfc Misprint in in Misprint to calls useless Avoid confusing Eliminate Eliminate GCC compiler warnings warnings compiler GCC Eliminate Optimization of of Optimization Move nested nested Move epTools::Write() Graphic3d T

Standard_Real d

\ . ataStd_ExtStringArray

Image_PixMap::ImgFormat

standard .

with with following OCCT coding rules. coding OCCT following www.opencascade. const IntPatch_W . WriteShape()

– Image_PixMap::ImgFormat

warning GCC Eliminate gp_* \

02_Modeling reference.

have been replaced with calls to gp_Dir2d(void) to calls with replaced been have

Quantity

within within classes in order to avoid unnecessary calling calling unnecessary avoid to order in classes B

can instead. be used can Quantity_Factor, Quantity_Parameter, Quantity_Parameter, Quantity_Factor,

R

l epTools::Write()

ineTool.cxx Image_Format_ has been amended to avoid warning issued by by issued warning avoid to amended been has com

theArrPeriods Quantity and and

and and

aliases of of aliases , has been moved to global namespace as as namespace global to been moved has , \

Copyright © 2017 by OPEN CASCADE Page 54

src XSControl_Utils::WriteShape() – and and V3d_Coordinate

Wmisleading

nested as declared previously , \ ModelingDoc.cpp – Image_PixMap::ImgGray

T Wstrict

file. Standard_Real d as marked have been package ataStd_IntegerArray

name previous the preserve and

enumeration to dedicated dedicated to enumeration

. array has been fixed to match match to fixed been has array

- - overflow indentation ). )

is avoided. The same same The avoided. is

type. Wmisleading .

.

gp_Dir*

become become

should . Thus Thus . enum enum

of of are are 68

-

Open CASCADE Technology & Products

29058 29021 29017 28980 28979 28978 28960 28940 28907 28916 28900 28899 28810 28806 28726

OpenCASCADE Technology& Products

Missing definition for CSF_netapi32 has been added in C in added been has CSF_netapi32 for definition Missing Summary: OpenGl_GraphicDriver fields Class Summary: C Summary: Test scripts were Summary: method The OpenGl_ShaderObject::Initialize() Summary: with replaced argument(s) color of duplicates as removed V3d_SpotLight V3d_PositionalLight, V3d_Ambient Quantity_NameOfColor accepting Methods removed. been method Virtual Quantity_NameOfColor ::SetColor() methods Virtual argument. input function Summary: Minor memory leak occurring at creation of the view view the of creation at occurring leak memory Minor Summary: warnings. GCC eliminate to revised been has sample Qt Summary: The Summary: OSD_OpenStream() :ReadFile() DxfFile_WorkLibrary: AcisData_AcisModel::ReadSaveFile(), – of instead l ang compiler warnings have been eliminated in Products. in eliminated been have warnings compiler ang

▪ ▪ ▪ ▪

following - - - - AdvApp2Var_MathBase.cxx Wmisleading Wstrict Wfor Warray

Eliminate GCC compiler warning compiler GCC Eliminate using Products OCC building Fix OpenGl_GraphicDriver C Eliminate . to scripts test Add OpenGl_Window sample. Qt in warnings GCC Eliminate Quantity_NameOfColor std=c++0x

OpenGl_ShaderObject::Initialize() s warning -

myLayerIds, myLayerSeq myLayerIds, Light, V3d_DirectionalLight, V3d_Light, V3d_Light, V3d_DirectionalLight, Light,

loop - ::SetMaterial() added to to added

- bounds aliasing and www.opencascade.

-

Remove not implemented method method implemented not Remove analysis instead of own platform own of instead l ang compiler warnings in Products. Products. in warnings compiler ang

- ha

in case of gcc (as for OCCT). for (as gcc of case in indentation ve

.gitattributes

have ceased to be defined as public. as defined be to ceased have DxfFile_WorkLibrary::WriteFile()

have been removed from from removed been have been -

gitattributes.

eliminate memory leak after after leak memory eliminate in

in in

Graphic3d_ArrayOfPrimitives.lxx eliminated in in GCPnts_TangentialDeflection.pxx

. – com accepting

should be replaced by be replaced should in in public. marked accidentally fields class fix SatCont s

Mingw Copyright © 2017 by OPEN CASCADE Page 55 . and .

:

-

NCollection_Array1.hxx

dependent code. dependent - end correct provide to

and and in classes

and Graphic3d_NameOfMaterial - w64 is eliminated. is rol_Controller

::Color() myMapOfZLayerSettings

. Aspect_Window

Quantity_Color removed. been has M

XGetVisualInfo

AIS_InteractiveObject V3d_View, V3d_Viewer, V3d_Viewer, V3d_View,

ake.

– Quantity_Color std=gnu++0 of returning/accepting returning/accepting - .

line.

. now use have been

.

. .

is used used is

from from

and has has of of

in in 68

.

Open CASCADE Technology & Products

Documentation

28427 28371 28440 28362 28249 28181 28179 27876 27381 27018 25187

OpenCASCADE Technology& Products

updated. been guide has user's format STEP Summary: dropped. been has cards graphic tested of list and OS supported of list with a simple statement general more a of favor in beenremoved has with versions systems operating supported of Table Summary: Documentation Summary: mentioned. st - option with projects dependent or OCCT building of necessity The Summary: AIS_InteractiveObject::SelectionMode() Prs3d_WFShape classes removed about information The Summary: documented. been have Component Boolean the in changes Recent Summary: mkoffset Drawcommand for documentation The Summary: updated. been has methods selection of description The AIS_InteractiveContext::SetPixelTolerance() Summary: guide. documentation the in added been has quotes of formatting about A section Summary: implemented. been have cylinders two between line the intersection finding and orthogonal matrix transformation making algorithms The Summary:

d=c++11

Update system requirements page. requirements system Update Guide Upgrade information. missing with note porting Update Draw Block issues for fixes in used algorithms the Document Data Exchange Exchange Data on Linux. warnings Doxygen Component. Boolean of documentation Update

when available) when GCC compiler is used (e.g. on Linux) has been been has Linux) on (e.g. used is compiler GCC when available) when

sources have been corrected to avoid compilation bugs. compilation avoid to corrected been have sources - mkoffset quotes are incorrectly formatted in PDF. in formatted incorrectly are quotes www.opencascade.

and

method of description Update

-

StdPrs_ToolShadedShape mention need to use option option use to need mention does not work not does

format. STEP for Manual Reference Update

com

.

Copyright © 2017 by OPEN CASCADE Page 56

has been updated. been has

. added been has

StdPrs_WFDeflectionShape, -

std=c++0x

.

0024915 and removed property property removed and

Outdated architectures.

and and

when using GCC using when std=c++0x

0025194

.

(or of of 68

- .

Open CASCADE Technology & Products

28997 28950 28877 28854 28814 28704 28697 28664 28654

OpenCASCADE Technology& Products

Guide. User's Visualization from removed been has features obsolete of description The Summary: name. document output) PDF and(for format by gendoc generated log of files names The LaTeX. by processing during warnings error multiple avoid used header LaTeX for Template Summary: guide. user's rules Coding the in fixed been has tag Unclosed Summary: i differing features the better explains opencascade::handle<> class to comment The Summary: //. of instead description for use to now #is recommended symbol The Summary: C the in recommended now is It Summary: in PMIVis Mistakes Summary: properly. Graphic3d_CView::Activate methods The correct seem not Summary: documents. PDF in layout their improve to guides user's of text in the allto figures added been has width image defining parameter The size. image Summary:

Visual3d_Layer in tag unclosed Fix happens. counting reference handle where state should documentation The description. in commit comments temporary for // of instead # using Suggest header class the adding Recommend PMIVis Documentation of of Documentation

Generation of of Generation gendoc.bat

www.opencascade. -

fixed. been have guide user mistake in user guide. user in mistake

draw_test_harness documentation generation tool does does tool generation documentation

Graphic3d_CView::Activate

coding_rules.md documentation. the in still but removed, oding oding

to corrected been has manuals PDF of generation in t from std::shared_ptr<>. R com

file. source its in first header class add to ules

Copyright © 2017 by OPEN CASCADE Page 57

and and first in its source file. source in its first

and and

target the on now depend command

Deactivate upgrade temporary comments in commit in commit comments temporary in Standard_Handle.hxx

files crashes. files pdf and and

account into take not

have been described described been have

Deactivate

does does

now of of

68

Open CASCADE Technology & Products

/Export DXF Import Import/Export ACIS-SAT - Added

28917 28671 28816 28269 28504 28871 28861 28676 28534

OpenCASCADE Technology& Products value components value

warnings: eliminate to introduced been have modifications following The Summary: of attributes The Summary: - non of Storage Summary: implemented. been has AC1024) (till versions format newer the of Support Summary: reference. single of in case colors writing while shapes translated finds now procedure export The Summary: fixed. been have geometry uncommon with surfaces BSpline writing algorithms The Summary: files). binary to (additionally r The Summary: ( applications ( import/export ACIS Summary: 2017. AutoCAD with open becorrectly can now ACIS to exported files The Summary: colour ▪ ▪

eading of files from versions 2500 - 2500 versions from files of eading

ACISLaw_MultipleDataLaw Interim -

tsl

Write newer DXF versions. DXF newer Write Import DXF format. ACIS with saved entities for colors store doesn't DXF Writer non transforms DXF Writer non for colors loses Export DXF export SAT with problems Various 2500 versions for interface Import SAT Updating import/export. ACIS to colors Adesk of support Add AutoCAD. by be open can't that file gives ACIS to Export color

-

DownCast

writer. DXF in added been has REGIONs as faces planar attrib ar solids www.opencascade. - interface has been updated to support both original color attributes attributes color original both to support updated been has interface

adesk

-

casting to unrelated type. unrelated to casting and and e now properly translated into ACIS entities. entities. ACIS into translated properly now e

to

-

DxfSection_Object attrib rgb_color

- ).

planar faces into mesh. into faces planar is now used instead of of instead used now is com

- -

shared Solids. shared st Copyright © 2017 by OPEN CASCADE Page 58

- 2600 is now provided for ASCII files files ASCII for provided now is 2600 attrib

unnecessary. as removed been has

) and own attributes of Adesk Adesk of attributes and own )

2700.

ACISLaw

.

of of 68

Open CASCADE Technology & Products

BestFit (TKJT) /Export JT Import Import Parasolid

26026 28531 28408 28905 28894 28925 28905 28896 28887 28629 28224 28334 28328 26026

OpenCASCADE Technology& Products

optimization. for sufficient deflection the with tessellated be should shape input s actual the to distances by calculating found solution the refine to unable is and polylines) and/or mesh (i.e. shape input of representations discrete uses implementation New part. rotation and translation for constraints supports P conditions. complex in robustness and convergence global ensure to package BestFit in implemented been has (PSO) optimization swarm Particle Summary: level. TKJT at to use It allowed now is TBB. without Summary: JtElement_ShapeLOD_Vertex in fixed been has array splitting while indices triangle of order The Summary: Summary: document Summary: meta attributes, multi of importing model data JT CASCADE. in Open added been has files visualization JT decoding interface JT Summary: added. and 26105 Schemes Summary: ranges. to correspond surfaces the supporting and the spine between distances that checked now is It Summary:

allows interface The data. engineering of a wide range representing allows

Add constraints to Best Fit Best to constraints Add TKJT TKJT Integration. TKJT import Parasolid for schemes new Adding XtControl_Reader TKJT TKJT

- data and PMI and data - -

- -

- triangles order is broken for JT8 files. JT8 for broken is order triangles translator data JT to XDE and writer JT basic provide

resolution tessellated representations along with product structure, structure, product with along representations tessellated resolution www.opencascade. implicit parallelization is leading to awful performance when build build when performance awful to leading is parallelization implicit provide 28002 have been updated and schemes 26102, 26104 and 28101 28101 and 26104 26102, schemes and updated been have 28002

NO_JT_MULTITHREADING

JTCAFControl_Reader .

hangs when processing specific data specific processing when hangs

.

com

Copyright © 2017 by OPEN CASCADE Page 59

macros for disabling parallelization parallelization disabling for macros

mappin for the Therefore, hape geometry.

inherently algorithm SO XDE onto data g JT

of of 68

Open CASCADE Technology & Products

Mesh Express Detection Collision Recognition Canonical 28548 28458 27966 28904 28611 28590 28251

OpenCASCADE Technology& Products

Summary: MFmeshshape command Draw been corrected. has mode in Quad loops small of removal The Summary: noise". + is argument the when exception Functions 7.0. Mesh Express and 7.0 OCCT from Summary: non its on apoint projecting QMShape_DiscrCurve::PntToCurve2d method the In deflection. real the to according increased co is edge the Otherwise, same considered is edge Now improved. non- of processing The fixed. been has triangles coplanar two of collision the of detection with problem The Summary: optional. made been parameters Recognition Summary: surfaces. for Check Summary: command UnifyFlag argument optional New surface. infinite of case in exception avoid to surface, trimmed from taken is direction V or U in isoline Now Summary:

- parameter points is large, but the orthogonal distance is within tolerance. tolerance. within is distance orthogonal the but large, is points parameter

CRshapeconvert ACos Mesh algorithm takes very long time on specific model. onspecific time very long takes algorithm Mesh Incorrect removing of small loops in Quad mode. Quad in loops small of removing Incorrect The algorithm reports inexistent collision. inexistent reports algorithm The sample. in the optional operation sewing Make with Problem file. STEP a specific loading when module recognition in canonical Crash Some faces are missing when loading a specific CAD. This is a regression regression a is This CAD. a specific loading when missing are faces Some NaturalRestriction

fails. meshing the if message an error output to extended been has

and and

www.opencascade.

ASin

same NaturalRestriction has step Sewing parameters. of set last the recalls now dialog nsidered nsidered

- transformed surface is taken into account. into taken is surface transformed from . -

in QMShape_Tessellator edges parameter

Standard_Real

same

-

flag has been added in case of infinite result result infinite of case in added been has flag (1. + Epsilon(1.)) (1. + non

defining defining com

- - parameter

Copyright © 2017 by OPEN CASCADE Page 60 sameparameter

UnifyMode

flag.

avoid to modified been have class

, but its processing tolerance is is tolerance processing its but ,

when transformation face the ,

has been added to D to added been has

between the distance if

use of "numerical "numerical of use beca

been has

raw raw of of 68

Open CASCADE Technology & Products

28918 28777 28774 28737 28730 28568

OpenCASCADE Technology& Products

curve. Summary: t Mesh Express Summary: element. the of rotation any forbid optionally to was extended a to mesh element aquad add to functionality The acriterion. to tr node to the first from diagonal its by divided is quad that so each mesh surface given any of elements quad the rotates new algorithm The not is if polygon the self the of polygon 2D bound the intersecting not segments 2D by rows the cut to corrected been has rows" two "Extract pattern Triangular self not is polygon 2D the if other each overlap not do quads 2D produced - triangle "Split pattern Triangular that: check to extended been have row" one "Extract pattern triangular and rows" asymmetrical "Extract pattern Quadrangular Grid. been has validity for check The patterns. triangular for added been has validity the for quad final the of check The quad. 3D anygiven of validity the check to beencreated has algorithm A new Summary: QMBgr_QuadTree.cxx from removed been have functions Unused Summary: edge. an of end opposite the to projection invali avoid to snapping parameter first the for even used now is cache Projection edge. Summary: apoly of middle in the points remove to possibility The poly of ends at intersection to correspond not does point intersection remaining the if only performed now are checks Additional edge. discrete of and endpoints Summary: point source the and projected the between distance check to used is tolerance edge Precision::Confusion()

▪ ▪ ▪ ▪ ▪ ▪

The number of starting angles in chooseBestLink() angles starting of number The method in avoided is complexity Quadratic needed. is area only if disabled now is perimeter of computation The IncAllocator intersect donot polylines 2D by cut rows the valid; are the 3D cut quads algorithm. the of nature quadratic by caused computation long avoid boxes. of QMTools_Polygon2dTool

quads. overlapped produce mode Quad in patterns The Express Mesh Mesh Express Take edge tolerance into account for the sake of correct projection of point on on point of projection correct of sake the for account into tolerance edge Take WireCorrector Express Mesh produces overlapping mesh due to invalid discretization of an an of discretization invalid to due mesh overlapping produces Mesh Express faces model CAD specific for slow tessellation Mesh Express

optimized: been has algorithm essellation www.opencascade.

is now used for allocation of temporary data in the methods of of methods the in data temporary of allocation for used now is

-

eliminate VC14 compiler warning 'pointer truncation'. 'pointer warning compiler VC14 eliminate

does not check correspondence between intersection point point intersection between correspondence not check does

projectors; to tolerance computational as passed now is

added for each quad produced by quadrangular pattern pattern quadrangular by produced quad each for added

like polygon to three quads" now checks that the that the checks now quads" three to polygon like . com

-

lines.

Copyright © 2017 by OPEN CASCADE Page 61

Find

polygon. the of bound the - iangles in the best way according according way best the in iangles checked. is line ShortestLink()

has been restricted to to restricted been has

. -

overlapped.

-

overlapped.

a tree using

. of of

68

d

Open CASCADE Technology & Products

Points Scattered from Surfaces Mesh Framework

28798 28942 28872 28538 28410 28395 28268

OpenCASCADE Technology& Products

added. been has file BRep into points of acloud of export The Summary: MFmeshcuts Commands result. Summary: compos elements creating avoid Method Summary: object. mesh surface for beenimplemented has properties inertia principal volume of Calculation object. Summary: mesh. surface given any of center New algorithm CenterOfSurfaceMass Summary: OMFAlgo::ProjectPointOnMesh in beenfixed has algorithm projection The Summary: - sub MFextractsubmesh Draw command manner. hierarchical the in operation Boolean command Draw Type HasSubMeshes Type operation. Boolean Summary:

meshes. OMFBool_BooleanOperation

OMFDS_Mesh OMFBool_

Updating SSP sample. SSP Updating during Exception to an algorithm Create a mesh. to point a project to failed functionality OMF The

FJTS Extend OMF component for the hierarchical using of the split and group group and split the of using hierarchical the for component OMF Extend

Extend BO commands to allow producing only triangular elements in the the in elements triangular only producing allow to commands BO Extend

MFmeshcommon, MFmeshfuse, MFmeshcut, MFmeshcommons MFmeshcut, MFmeshfuse, MFmeshcommon,

result. the in elements triangular only produce to extended been have

- and and 09

MFsplitAndGroup www.opencascade. SplitElement::addSectionElement -

for inertia of axes Principal of 009 Implementation RemoveFaces

methods by beenextended has

MFmeshfuse

ed of less than 3 vertices. 3 than less ed of

mesh. surface given any of center mass the compute .

has been extended by method AddGroups by method extended been has com has been extended to optionally extract all leaf all leaf extract optionally to extended been has has been extended to optionally perform the perform optionally to extended been has

has been implemented to compute the mass mass the compute to implemented been has processing.

Copyright © 2017 by OPEN CASCADE Page 62

has been corrected to to corrected been has

RemoveSubMeshes, RemoveSubMeshes,

OMFDS_Mesh

.

.

and of of

68

Open CASCADE Technology & Products

Library Unfolding

28827 28818 28578 28530 28447 25888 25739 25736 25402

OpenCASCADE Technology& Products

- polygon attached without edges of copies it creates Use Summary: mapping. correct for mesh underlying Unfolding_Algo Summary: exception. return methods these in fixed been has exception memory" of "Out Summary: fixed: been has 2D to 3D point mapping command Draw algorithm mapping point 2D into 3D algorithm BVH of use Improper Summary: introduced: been have modifications following The Summary: algorithm: the of Features process. deformation of simulation numerical for approximation element finite uses It deformation. energy strain the of onminimization is based algorithm unfolding New Summary:

▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪

of Output of split points has been added in case of 3D to 2D mapping. 2D to 3D of in case added been has points split of Output algorithm; mapping points the for added been has handling Error initia An geometry. shape's to referring without unfolding for element initial an of Selection MAX_NODES formats. VTK or PLY to results export to functionality provides planar the to initial shape from curves and points mapping for interface provides point each for deformations calculate to methods provides non- or developable for process unfolding performs determined by moving layer by layer from the mesh boundary. the mesh from layer by layer moving by determined versa; vice and shape (unfolded) (

BRepBuilderAPI_MakeWire TopoDS_Face

Unfolded face is suddenly re suddenly is face Unfolded Unfolding mode. bit 32 in compiled onOCCT crashed is algorithm Unfolding surface. unfolded to point mapping when Crash geometry. without shape input meshed of use Enable module. Unfolding of Improvement

l element is the most remote from the mesh boundary element. It is It element. boundary the mesh from remote most the is l element

www.opencascade. has been fixed to apply the transformation from the unfolding face to face unfolding the from transformation the apply to fixed been has variable aconstant to converted is macro global -

points mapping works incorrect. works mapping points

or Unfolding_OutOfMemory

TopoDS_Shell

com - because result, of in the building avoided now is

in Viewer. 3D while displaying meshed );

Copyright © 2017 by OPEN CASCADE Page 63

Init

on

and

error status instead of throwing throwing of instead status error -

structure. triangulation

Perform

shape; of developable surface surface developable

has beenfixed. has

API functions; now now functions; API

of of 68

Open CASCADE Technology & Products

&Tools Samples Advanced

28809 28808 28804 28651 28397 28507 28396 28424 28037

OpenCASCADE Technology& Products

. Summary: SWIG. by generated automatically constructor first the skip to constructors for added been +1 has shift An index by marked methods In Summary: src OCCT to s path with SWIG feed to option the with extended been has wrapper C# SWIG Summary: updated. been has sample advanced Healer Shape the of Guide User Summary: WRAP_AS_HANDLE_() in fixed been has exception throwing before value Uninitialized - sub specified in added been have WRAP_AS_HANDLE_INCLUDE_EXT macros New - sub into cref.i and wrapper C# in methods Internal TKernel.i on casting Warning TKTObj.i classes basic for Wrapping - sub of wrapper C# Summary: AIS_AnimationObject AIS_Animation, wrapping for directives The PrsMgr of order wrapping The PrsMgr wrapper C# Summary: non- (with VTK6.1.0 by provided IVtk Summary: i updatewrappers.tcl ObsoleteAttribute updatewrappers.tcl file extension (SWIG wrapper declarations) has been added in .gitattributes in added been has declarations) wrapper (SWIG extension file

inc of instead folder

toolkit has been wrapped to use it in Java with existing VTK wrapped java classes classes java wrapped VTK existing with in Java it use to wrapped been has toolkit modules.

modules. and and

. Add .i files to to files .i Add wrapper C# wrapper C# Gu User Update integration. andVTK Wrapper Java

Prs3d path to the headers. the to path

www.opencascade. . Standard_

occtypes.i - -

- Standard_Transient

AIS_AnimationTimer, AIS_AnimationCamera AIS_AnimationTimer,

.gitattributes propagate propagate from headers OCCT parsing support - mark mark .

have been added. been have wrap missing classes and fix wrapping order of packages packages of order wrapping andfix classes missing wrap sample. advanced Healer Shape the of ide TObj_Object TObj_Object Standard_Transient

and swig wrapper). wrapper). swig DEPRECATED DEPRECATED

Standard_DEPRECATED for wrapping OCCT wrapping for Prs3d V3d_DirectionalLight, V3d_SpotLight, V3d_SpotLight, V3d_DirectionalLight,

com

packages has been reversed. been has packages . Copyright © 2017 by OPEN CASCADE Page 64

are now marked as public to allow splitting splitting allow to public as marked now are

and in C++. in

to itself has been suppressed in suppressed been has itself to and - C# put to is attribute () TObj_Model

-

WRAP_AS_ENUM_INCLUDE_EXT methods public to allow creation creation to allow public methods based application classes within within classes application based

src classes. wrapped to

folder.

in added been has

wrapped wrapped

and of of .

.

68

Open CASCADE Technology & Products

Geodesic

28231 28209 29033 29010 29036 29023 28906 28901 28865 28851

OpenCASCADE Technology& Products

vertices. and 3d curve corresponding the by extended been has isoline each of presentation The isolines. the straighten optionally to extended been has algorithm field distance The Summary: functionality: field distance the to applied been have optimizations performance and improvements following The functionality. field Summary: MDTV format storage Unsupported sample. the by properly handled now is change Format Summary: The Summary: Shape MFC in avoided now is Context Local of Usage Summary: Geom_CylindricalSurface Summary: NCollection_Array1 about Warnings operator. Summary: mapping through levels and C# OCCT C++ native between passed be can now strings Unicode Summ

▪ ▪ ▪ ▪ ▪ ▪ ▪

custom.bat calling of order - ary: ary: Standard Healing training sample training Healing NColle links; from removed are windows spiky are merged; links on adjacent windows similar the during window other the over an advantage granted are window straighter the to link each for splitting ir the by beenreplaced has windows the of discarding isoline building now produces the proper result if the isoline contains mesh mesh contains isoline the if result proper the produces now building isoline NCollection_IncAllocator intersection of windows with similar distances; similar with windows of intersection refine; avoided. is isoline the of parts duplicated producing nodes; Geodesic_MeshDistances::Window

wchar_t* wchar_t*

Apply extension to the distance field functionality to straighten the field. the straighten to functionality field distance the to extension Apply changing. format during Sample OCAF of behavior Strange environment general calling before in samples custom.bat Launch Context Local of usage eliminate wrapper C# Apply some improvements and performance optimizations to the distance distance the to optimizations performance and improvements some Apply C# wrapper wrapper C#

OverlapGeom_IdentitySurfaces

ction_Handle

BinOCAF to changed been has www.opencascade. strings.

-

strings. Unicode support

-

suppress warning about about warning suppress . .

has been replaced by the OCCT handle for type handle for OCCT by the beenreplaced has

and general

com

is used for the links to refine; to links the for used is

eliminated. been have operator move

Copyright © 2017 by OPEN CASCADE Page 65 in

samples env.bat ;

.

samples, Import/Export sample and and sample Import/Export samples,

-

.

fix misprint while comparing comparing while misprint fix

switched been has NCollection_Array1

in samples

.

move move of of . 68

Open CASCADE Technology & Products

(PMIVis) PMIdata for tools Visualization

28628 28533 28902 28239 28994 28834

OpenCASCADE Technology& Products

fixed. has configuration Information' Debug 'Release With for procedure compilation The packages. necessary some without built was OCCT if skipped now is products of Building mode Summary: eliminated. TKPMIVis Summary: constructor. from called is method the since removed PMIVis_Presentation::init() virtual Summary: XCAF. from coming positioning custom of loss exclude to revised been has andtolerances dimensions of Positioning some cases. Summary: corrected. been has lines offset iterating algorithm The Summary: models. onclosed works now algorithm equidistant geodesic The Summary:

▪ ▪ ▪ ▪ ▪

Only th Only myIsNeedBuildTextPosition dimensions of type different a importing for Methods lines. tolerance to added have been Markers separated. been has zone modifiers of Parsing myIsCustomTextPosition case. definite every in dimension of attributes customize to needed is It separated. been have dimensions and radial location dimensional size, dimensional .

work. not does operation CAMpocket shapes. (solid) on closed computed not is offset Geodesic

PMIVis PMIVis

PMIVis dependencies onTKDCAF dependencies PMI Visualization Visualization PMI

e middle parameter of radial dimension is now used for circular geometry. circular for used now is dimension radial of parameter middle e

www.opencascade.

- core core -

defined positions and number of places are not loaded properly in in properly loaded not are of places number and positions defined TKPMIVis -

DRAW. on dependency Remove

-

eliminate CLang compiler warnings warnings compiler CLang eliminate

Information' Debug With 'Release in fails compilation

.

has been renamed and virtual flag has been has flag andvirtual beenrenamed has com

been have toolkits unnecessary other and

Copyright © 2017 by OPEN CASCADE Page 66

has been renamed into into renamed been has

in in

PMIVis_Exchange

- Woverloaded

been of of 68

-

:

Open CASCADE Technology & Products

Rendering Point Cloud Volume Rendering

28858 28742 28666 28023

OpenCASCADE Technology& Products

implements: module new The TKMeshTools toolkit New Summary: for available is toolkit the of version dedicated The filter. shading - Eye points, picking for tools reconstruction), visual surface (for management point size dynamic limits, usage memory Lev advanced streaming, data efficient for format file internal PTX), PSL, (PLY, Set formats Point various from tools import includes Toolkit once. at displayed be to GPU usual of power processing and memory into fit not a visualization efficient for object interactive T TKPointCloud toolkit cloud Point Summary:

t his ▪ ▪ ▪ ▪

Operation creating triangulation from voxels (contouring). voxels from triangulation creating Operation triangulation). (from shape from voxels creating Operation sets. data voxel on operations Boolean SVO). octree, voxel (sparse data voxel for structures Data AIS andcustomizable algorithms structures, data of aset provides oolkit

Develop a package for geometry operations in distance field representation. field in distance operations geometry for package a Develop

real for package Provide

www.opencascade.

fields. distance with working allows

has been introduced. been has

- time rendering of point clouds. point massive of rendering time

com

Copyright © 2017 by OPEN CASCADE Page 67 cessing large Point Sets, Point large cessing nd pro

post (EDL) Lighting Dome

- Web into embedding

management, (LODs) Detail el of

browser

- processing processing

do which

of of

68

Open CASCADE Technology & Products

for OCCT video recording) OCCT for FF documentation) Doxygen algorithms) multithreaded TBB deprecated) file, graphic vector to contents gl2ps formats) graphic FreeImage FreeType Qt X: OS For Windows: For Linux: For TCL Android: For Mac X: OS For Windows: For Linux: For C++ library Graphic installation) space disk Free memoryMinimum System Operating iOS Android OperatingSystem X/macOS OS System Operating Windows Linux OperatingSystem

https:// The most up- most The requirements. system andits by OCCT used versions product the lists below table The platforms. (ARM64) iOS and x86), and ARM64 (ARMv7, Android 64), Pre and Platforms Supported Open CASCADE Technology is supported on Windows (IA on Windows supported is Technology CASCADE Open

mpeg (for demonstration tools) demonstration (for

tools) testing (for

viewer OCCT of (Export www.opencascade.com/content/system (optional tool for for tool (optional

framework (multimedia OpenCASCADE Technology& Products (OCCT Text rendering) Text (OCCT (optional for building building for (optional

(Support of common common of (Support

Operating System Operating

to -

- andPre Platforms Supported on information date

(complete (complete

www.opencascade.

FreeType 2.4.11 FreeType Built https://www.activestate.com/activetcl/downloads 8.6.3+ Tcltk (android 4.8+ GCC newer or 6 XCode GCC 4.3+ (Mingw SP1 2013 XE Composer C++ Intel 2017 Studio Visual Microsoft 2015 Studio Visual Microsoft 2 Update 2013 Studio Visual Microsoft 4 Update 2012 Studio Visual Microsoft SP1 2010 Studio Visual Microsoft 3+ Clang LLVM 4.3+ gcc GNU 2.0+ ES 3.3+, OpenGL OpenGL documentation insta if GB 1,4 or space, disk of 650 MB recommended 1GB MB, 512 iOS 7and above above and 4.0.3 Android later and 10.10 X/macOS OS SP3 XP / SP2 Vista / 7 SP1 8/ 10/ MS Windows 8.0 7.0,Debian Debian 1604, Linux Arch - ffmpeg 1.8.5+ Doxygen 5.x or 4.x TBB gl2ps http://freeimage.so Tcltk 8.6.3+ https://www.tcl.tk/software/tcltk/8.6.html Tcltk FreeImage 3.17.0 FreeImage 4.8.6 Qt

- in Tcl/Tk 8.6+ Tcl/Tk in - 1.3.8 1.3.8

3.3 https://download.qt.io/ - Ubuntu 24, Fedora 22, Fedora 7.3, CentOS 6.4, CentOS , -

https://www.ffmpeg.org http://geuz.org/gl2ps/ requirements https://www.tcl.tk/software/tcltk/8.6.html

- https://www.threadingbuildingblocks.org/

requisites com https://www.stack.nl/~dimitri/doxygen/download.html -

2.7.1 2.7.1

-

urceforge.net/ w64)

- ndk

Copyright © 2017 by OPEN CASCADE Page 68 https://www.freetype.org/ -

- r12+)

- x86 32 and .

- (x86 Linux 64),

at is available requisites

lled with reference reference with lled

- (x86 X OS Mac 64), 8.6 ActiveTcl or

of of 68