Solar Digital, Inc.
Solar Digital, Inc.
Genesis is a cross platform C++ framework with advanced data modeling, user interface, 2D & 3D visualization, and communication capabilities. It has been in development since 1998, and has been used by a variety of companies in commercial and proprietary applications. Genesis was developed using state of the art design patterns that accelerate the development of highly reusable, scalable, and reliable data-driven processes. The architecture is highly abstract, highly dynamic, and captures many of the advantages of dynamic languages such as Java and Objective C while maintaining the performance and flexibility of the C and C++ languages.
Data Modeling
The cornerstone of Genesis is a highly dynamic node-based data model. Nodes provide dynamic reflection of attributes and behavior. They can be nested recursively and connected into tree and graph topologies. Nodes can be used as signals to drive local and distributed processes. They can be persisted transparently using XML which also captures relational structures. Nodes have an elaborate set of facilities to manage process flow in a highly formal and rational manner. This results in signal driven process flow which is critical for managing complex data structures, user interfaces and distributed processes.
User Interface & Visualization
To increase portability, Genesis implements a complete cross-platform user interface solution including its own Interface Builder. This implementation contains all of the basic interface objects common to the various platforms. It also includes sophisticated renderers such as lists, tables, column views, text editors, hierarchical popups, user adjustable panels, and real-time 3D views. These interface objects dynamically interface data allowing complex user interfaces to be code-less and data driven. The 3D views excel at handling real time simulations and 3D interaction.
The entire implementation of these interface elements is cross platform. The appearance of all interface elements is controlled using a cross-platform theme manager that allows the appearance of applications to change dynamically with platform, design, or preference. Genesis provides a powerful cross platform coordinate system and rendering abstraction. This allows all interface objects to render transparently into target API's such as Apple's Core Graphics, Microsoft's Win32 or Direct X, or OpenGL without any modification. The coordinate system implementation in Genesis unifies all types of transformations, including 2D and 3D hierarchical transformations, as well as perspective and non-perspective camera transformations. This allows the development of complex user interfaces that combine nested 2D and 3D elements that render on any platform without modification. This level of flexibility and reusability encourages the development of sophisticated rendering and visualization tools.
Communications
Genesis provides a cross platform abstraction for low level TCP and UDP services. For the rapid development of high-level network aware processes, Genesis provides a signaling metaphor that eliminates the distinctions between local and distributed development. This makes the network transparent allowing development to focus solely on the high level design of data and process flow of complex applications.
The node data model in Genesis is the foundation for signals which allow the rapid development of signaling protocols, client/server models, and distributed collaborative processes. This high-level communication model transparently utilizes XML over TCP/UDP providing for open and standards based communications. Transport security is provided using the principles of TLS leveraging RSA and AES for the key derivation and encryption respectively.
The ability to distribute the modeling and signaling processes means that all interface capabilities described above can be leveraged in a distributed collaborative manner. These capabilities are heavily leveraged and demonstrated by the Unity communications technology.
Copyright © 1998-2010 Solar Digital, Inc. All rights reserved.
SOLAR DIGITAL is a registered trademark and service mark of Solar Digital, Inc.




