Overview On completion of this course, participants should be able to develop an application using Open CASCADE Technology geometric and topological modeling and visualization.

Prerequisites The participants will need to be familiar with the concepts of C++ object-oriented language and should have practical experience in programming.

Introduction - About OPEN CASCADE Company
- What Is Open CASCADE Technology
- Our Advanced Components
- What is in the distribution
- Object Libraries Modules
- Documentation and samples
- Directories structure
- Standard types
- CDL declarations

Draw Test Harness - What is the Draw Test Harness ?
- Command language
- Basic commands
- View commands
- Manipulating geometry and topology in Draw
- The DrawTrSurf package
- The DBRep package
- Definition of new commands

Handles - Notion of handles
- What is a handle
- The handle mechanism
- Use of handles
- Getting type of handled objects
- Specific methods applicable on handled
- Definition of a new handled class

Programming utilities - OS Abstraction layer
- Collections
- Exceptions

Application services - Units of measurement
- Messages
- Resources

Introduction to geometry - Concept implementation layers
- Benefits of layers separation
- Control classes implementation
- Geometry versus topology
- Types of geometric entities
- Methods of construction
- Analytic and parametric geometry
- Basic and advanced geometry

Basic and advanced geometry - Basic geometry packages
- Primitives of basic geometry
- Specific of basic geometry
- Advanced geometry packages
- Primitives of advanced geometry
- Specific of advanced geometry
- Precision

Constraint geometry - Constraint geometry in 2D
- Qualification of arguments
- Implementation

Review of Topology - Purpose of topology
- Definition of topology

Topological Data Structure - Topological shapes
- Hierarchy of shapes
- Structure of a shape
- Connectivity of shapes
- Graph structure
- TopoDS_Shape methods
- TopoDS package methods
- Collections of shapes
- Exploration tools

Boundary Representation - Introduction to BRep
- BRep entities
- Precision in BRep
- Geometry in BRep_TVertex
- Geometry in BRep_TEdge
- Geometry in Brep_TFace
- BRep tools overview
- The BRep_Tool class
- The BRep_Builder class
- The BRepAdaptor package
- BRep particularities

Modeling algorithms - Introduction
- Packages of modelling algorithms (BRepBuilderAPI package, BRepPrimAPI package, BRepAlgoAPI package, BRepFilletAPI package, BRepOffsetAPI package)
- History of modifications
- Error handling

Features - Basic Concepts
- Form classes
- Mechanical features
- The Gluer class
- The SplitShape class

Visualization Overview - Interactive Context
- Interactive Object
- Use of Interactive context and interactive objects
- Linking application entities to interactive objects
- User defined interactive objects

Presentation - Presentation methods

Selection - Introduction
- Neutral point
- Local context
- Difference between neutral point & local context
- Selection management
- Filters