Editing BRL-CAD's core C++ interface

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 4: Line 4:
  
 
The C++ interface is a object oriented API to BRL-CAD's core libraries around librt.
 
The C++ interface is a object oriented API to BRL-CAD's core libraries around librt.
The target users are developers of applications which use BRL-CAD libraries.
+
The target group are developers of applications which use BRL-CAD as module.
  
Furthermore, this interface should be a good reference to the use of BRL-CAD's standard C interface, although a higher level interface should also be available.
+
Furthermore, this interface should be a good reference to the use of BRL-CAD's standard C interface.
 
 
= Requirements =
 
 
 
== The interface should be self-contained ==
 
I.e., source code using this interface should not need to include any other BRL-CAD header file (nor TCL, openNURBS, ...).
 
 
 
As a consequence, the interface will hide implementation details.
 
Therefore the implementation can be changed without affecting an application using this interface.
 
 
 
= Main Classes =
 
 
 
== ConstDatabase ==
 
The '''ConstDatabase''' class provides a handle to read-only database content.
 
 
 
If it is associated with a file the file will be opened read-only.
 
I.e. multiple instances of this class can refer to the same file.
 
 
 
== Database ==
 
The '''Database''' class is a virtual class which declares a handle to a writable database.
 
It is derived from '''ConstDatabase''' and expanded by methods to modify the database's content.
 
 
 
== FileDatabase ==
 
The '''FileDatabase''' class provides a handle to writable file-based database derived from '''Database'''.
 
 
 
== MemoryDatabase ==
 
The '''MemoryDatabase''' class provides a handle to writable in-memory database derived from '''Database'''.
 
 
 
== Object ==
 
The '''Object''' class is the base class of all database objects (e.g. primitives etc.).
 
 
 
 
 
= Examples =
 
* [[coreInterface Hallo World Example|A kind of a "Hallo World" program]]
 
* [[coreInterface PrintTitle Example|PrintTitle]]
 
* [[coreInterface Tree Walker Example|Tree walker]]
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: