Difference between revisions of "Object-oriented interfaces"

(Object-oriented interfaces)
 
(Updated for GSoC 2014)
 
Line 1: Line 1:
 
The [[Geometry Service Project Main|Geometry Service Project]] aims to restructure the geometry management services within BRL-CAD and provide a new user interface.
 
The [[Geometry Service Project Main|Geometry Service Project]] aims to restructure the geometry management services within BRL-CAD and provide a new user interface.
 
As part of these efforts [[BRL-CAD's core C++ interface]] should become a self-contained object-oriented interface to BRL-CAD's geometry kernel, hence the Geometry Engine.
 
As part of these efforts [[BRL-CAD's core C++ interface]] should become a self-contained object-oriented interface to BRL-CAD's geometry kernel, hence the Geometry Engine.
 +
With that, the C++ interface would be a canonical API for external applications, interfaces to other programming languages, etc..
 +
That's why it is included in the brlcad.dll (and its SDK): Easy distribution of BRL-CAD functionality to MS Windows programs.
 +
 +
The C++ interface already provides access to the 3 database types read-only, write-on-change and in-memory.
 +
The last one provides the usual "load -> change -> save" behavior for applications.
 +
Additionally objects for most of the simple primitives and combinations are included too.
  
 
Possible tasks are
 
Possible tasks are
*Implement the C++ core classes for the remaining primitives
+
* Implement the C++ core classes for the remaining primitives
*Implement .g-to-svn serialization library
+
* ...
*...
+
 
 +
=References=
  
Requirements:
+
* [[Geometry Service Project Main]]
 +
* [[BRL-CAD's core C++ interface]]
 +
* /rt^3/trunk/src/coreInterface
 +
* /rt^3/trunk/include/brlcad
  
*Familiarity with C/C++
+
=Requirements=
  
Difficulty: medium
+
* Familiarity with C/C++

Latest revision as of 10:45, 28 February 2014

The Geometry Service Project aims to restructure the geometry management services within BRL-CAD and provide a new user interface. As part of these efforts BRL-CAD's core C++ interface should become a self-contained object-oriented interface to BRL-CAD's geometry kernel, hence the Geometry Engine. With that, the C++ interface would be a canonical API for external applications, interfaces to other programming languages, etc.. That's why it is included in the brlcad.dll (and its SDK): Easy distribution of BRL-CAD functionality to MS Windows programs.

The C++ interface already provides access to the 3 database types read-only, write-on-change and in-memory. The last one provides the usual "load -> change -> save" behavior for applications. Additionally objects for most of the simple primitives and combinations are included too.

Possible tasks are

  • Implement the C++ core classes for the remaining primitives
  • ...

References[edit]

Requirements[edit]

  • Familiarity with C/C++