Difference between revisions of "Geometry Service Project Main"

From BRL-CAD
(Add some <br /> to open up the page a bit (Temporary))
m (Implementation Particulars)
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{DesignDocument}}
+
[[category:Geometry Service]]
[[category:Projects]]
+
{|
+
|width=210|[[Image:GS_Symbol.png|left|Geometry Service]]
The Geometry Service Project (GS) is the internal name for a project under development that aims to restructure the geometry management services within BRL-CAD and provide a new user interface.  More specifically, the restructuring aims to leverage an object-oriented design and encapsulate much of the existing functionality in BRL-CAD through three C++ interfaces. The GS Project consists of three major pieces:
+
|The Geometry Service Project (GS) is the internal name for a project under development that aims to restructure the geometry management services within BRL-CAD and provide a new user interface.  More specifically, the restructuring aims to leverage an object-oriented design and encapsulate much of the existing functionality in BRL-CAD through three C++ interfaces.
 +
|}
 +
 
 +
----
 +
===The Geometry Service consists of three major pieces===
  
* [[iBME_GeometryEngine|Geometry Engine]] - C++ library consisting of the existing BRL-CAD libraries and added functionality such as integration of '''all''' BRL-CAD file format converters and SVN storage utilities.
+
* '''Geometry Engine''':  The Geometry Engine(GE) is a stateless library built on top of the existing BRL-CAD Libraries: libbu, libbn, libdm, libged, librt, etc. The GE contains all geometric processing functions to include Format Converters, Tessilation, and image processors.
* [[iBME_GeometryService|Geometry Service]] - Background service that leverages a Geometry Engine, a Session Manager, an Access Manager, and a Communications Manager to facilitate multi-user, multi-threaded, networked access to the Geometry Engine.
+
 
* [[iBME_GUI|GUI]] - Standalone client that provides visualization of geometry and captures user input. This client is connected a Geometry Service over the network via the Geometry Service Network (GSNet) Protocol.
+
* '''Geometry Service''':  The Geometry Service(GS) is an application that expands on the functionality of the Geometry Engine (GE) by adding Multi-user Communications and Session Management, Access Controls, Multithread capabilities and SVN utilities.  
 +
 
 +
* '''"New" GUI Project''': Currently nicknamed "G3D", it is a standalone client that provides visualization of geometry and captures user input. G3D is designed to be connected to a Geometry Service over the network via the Geometry Service Network (GSNet) Protocol.
  
Project implementation particulars:
 
* The Geomtery Service will be written in C/C++ to allow runtime-extensibility and reuse of code in future projects.
 
* The Geomtery Service leverages the proven and stable functionalities in BRL-CAD's libraries and binaries.
 
* The Geometry Service provides an easy to use and extensible network protocol (GSNet Protocol) for interacting with a running Geometry Server.
 
* The Geometry Engine provides a clean and easy to use API for BRL-CAD's libraries and binaries.
 
* Each of the three major pieces will be stand-alone products
 
 
 
----
 
----
 +
 +
===QuickLinks===
 
<!-- hackish, I know.... -->
 
<!-- hackish, I know.... -->
 
<center>
 
<center>
Line 28: Line 29:
 
|}
 
|}
 
</center>
 
</center>
<br /><br /><br /><br /><br />
 
  
 
----
 
----
 +
===Implementation Particulars===
 +
* The Geometry Service will be written in C/C++ to allow runtime-extensibility and reuse of code in future projects.
 +
* The Geometry Service leverages the proven and stable functionalities in BRL-CAD's libraries and binaries.
 +
* The Geometry Service provides an easy to use and extensible network protocol (GSNet Protocol) for interacting with a running Geometry Server.
 +
* The Geometry Engine provides a clean and easy to use API for BRL-CAD's libraries and binaries.
 +
* Each of the three major pieces will be stand-alone products
  
[[GeometryServiceNetworkProtocol|Geometry Service's Network Protocol Documentation]]
 
 
 
----
 
----
 
[[URL URI URN Implimentations|Proposed URL URI URN Implimentations]]
 

Latest revision as of 15:49, 6 June 2011

Geometry Service
The Geometry Service Project (GS) is the internal name for a project under development that aims to restructure the geometry management services within BRL-CAD and provide a new user interface. More specifically, the restructuring aims to leverage an object-oriented design and encapsulate much of the existing functionality in BRL-CAD through three C++ interfaces.

The Geometry Service consists of three major pieces[edit]

  • Geometry Engine: The Geometry Engine(GE) is a stateless library built on top of the existing BRL-CAD Libraries: libbu, libbn, libdm, libged, librt, etc. The GE contains all geometric processing functions to include Format Converters, Tessilation, and image processors.
  • Geometry Service: The Geometry Service(GS) is an application that expands on the functionality of the Geometry Engine (GE) by adding Multi-user Communications and Session Management, Access Controls, Multithread capabilities and SVN utilities.
  • "New" GUI Project: Currently nicknamed "G3D", it is a standalone client that provides visualization of geometry and captures user input. G3D is designed to be connected to a Geometry Service over the network via the Geometry Service Network (GSNet) Protocol.

QuickLinks[edit]

Alt Text                               Developer Pages
User Pages Developer Pages

Implementation Particulars[edit]

  • The Geometry Service will be written in C/C++ to allow runtime-extensibility and reuse of code in future projects.
  • The Geometry Service leverages the proven and stable functionalities in BRL-CAD's libraries and binaries.
  • The Geometry Service provides an easy to use and extensible network protocol (GSNet Protocol) for interacting with a running Geometry Server.
  • The Geometry Engine provides a clean and easy to use API for BRL-CAD's libraries and binaries.
  • Each of the three major pieces will be stand-alone products