Developer Documentation
Welcome to VisItland! This page provides links to a myriad of topics of interest to a VisIt developer.
Contents
Developer Tips and Tricks
Source code documentation
VisIt 2.3.0 |
See also: Generating source code docs using Doxygen
The Design of VisIt
- High level design
- State objects
- Design of each process in the VisIt system
- Command Line Interface
- Compute engine
- The rest of the pages have not been started yet.
- An overview of AVT, the data flow network library used by VisIt's server
- Load balancing in a parallel setting
- How VisIt handles ghost data
- How scalable rendering mode works
- How VisIt Launching works
Plugins
- There is a user-oriented overview of plugins located here.
- Adding a new plot
- Adding a new operator
- Writing a database writer
- For adding a new database, check out the "Getting Data Into VisIt" Manual.
- Explaining the abstractions behind plugins
Software Engineering Aspects
- Subversion usage and version control
- How releases are managed
- How to do testing
- Handling patches contributed from external sources
- VisIt Coding Style Guide
- Building VisIt
- Bug tracking
- Patching VTK
Development Aspects
- Debugging VisIt
- Timing VisIt
- Profiling OpenGL
- Memory management
- Using exceptions
- Extending VisIt / Examples of common development use cases
- Description of complex algorithms and data structures
- Why certain things are hard to do in VisIt
- Internationalization
- Various aspects to 3rd Party Libraries
- Time, Cycle and StateIndex Issues
- Caching derived objects from filters in the database
- Managing open file descriptors among readers and writers
- avtFileFormat plugin objects and ST/SD type plugins
- When to use avtDatabase::OnlyServeUpMetaData() vs. ifdef MDSERVER…endif
- Logs from VisIt Developer Telecons
- VisIt Database Consistency Check tool
Other
- How to become a VisIt developer
- Recently added Wiki pages for developers
- Porting to a parallel machine
- Setting up parallel hardware rendering
- Discussion Area for Misc Projects
- Mailing list details
- This is currently intended only for mailing list moderators and administrators
- Platforms developers can access
- Documentation of performance issues with connected components filter
Skeletons for future pages
The Design of VisIt
- Design of each process in the VisIt system
- Class Hierarchy
- Client Interfaces