Difference between revisions of "Geometry Service Project Main"

From BRL-CAD
(Cleaned up verbage, removed some vague hints to functionality now that we are more concrete in our vision.)
Line 2: Line 2:
 
[[category:Projects]]
 
[[category:Projects]]
 
   
 
   
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 specifically layered 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 GS Project 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.
 
* [[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.
 
* [[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_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 'thin client' that provides visualization and captures user input.  This thin Client is connected a Geometry Service via one of many communication mediums with network sockets being the most prevalent.
+
* [[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.
  
 
Project implementation particulars:
 
Project implementation particulars:
* GS's core will be written in C/C++.
+
* The Geomtery Service will be written in C/C++ to allow runtime-extensibility and reuse of code in future projects.
* OO Design will be leveraged to allow runtime-extensibility
+
* The Geomtery Service leverages the proven and stable functionalities in BRL-CAD's libraries and binaries.
* GS leverages existing functionality 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 compile-time bindings
+
* The Geometry Engine provides a clean and easy to use API for BRL-CAD's libraries and binaries.
* The Geometry Service provides a network protocol run-time interface
 
 
* Each of the three major pieces will be stand-alone products
 
* Each of the three major pieces will be stand-alone products
 
   
 
   

Revision as of 08:26, 14 January 2011

Design icon.png This page contains the design document for an enhancement or feature. The design should be considered a work in progress and may not represent the final design. As this is a collaborative design, contributions and participation from other developers and users is encouraged. Use the discussion page for providing comments and suggestions.

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:

  • 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 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.
  • 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.

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

Geometry Service's Network Protocol Documentation


Proposed URL URI URN Implimentations