Directory Structure

From ParaQ Wiki
Revision as of 14:52, 16 March 2006 by Utkarsh (talk | contribs) (→‎Design)
Jump to navigationJump to search

Overview

This document is a proposal for a directory structure. It is modelled heavily on ParaView .

Design

ParaQ Root
|
+ Utilities: Components that don't depend on VTK/ParaView/Qt but are needed to build the project or extensions to the project. eg. Doxygen, freetype library, jpeg library, etc etc.
+ Common : Classes common to the entire project that don't use GUI components. 
+ ParaView : ParaView subtree.
|  |
|  + Data : ParaView Data subtree.
|  + VTK : VTK subtree.
|  + Utilities: non-ParaView dependent libraries/utilities needed by ParaView (i.e. Servers), includes ClientServer wrapping code. Can depend on VTK.
|  + Common : Includes KWCommon. Depends on VTK and Utilities
|  + Servers : Groups all the modules user by render/data server. No GUI components. Depends on VTK, Utilities, Common.
|     |
|     + Common : core server classes such as process module, connections etc etc. 
|     + Filters  : These are filters that can be instantiated on the server in addition to the filters provided by VTK. 
|     + ServerManager : The server manager classes (Proxy/Proxymanager etc etc).
|     + Executables : Executables sources i.e. pvbatch/pvserver/pvdataserver/pvrenderserver.
|     + Wrapping : ServerManager wrapping support. Presently includes python wrapping.
+ GUI : Collects all the GUI modules.
|  |
|  + Widgets : Qt widgets, Qt widget extensions. Ideally these don't depend on ServerManager at all. This is where all the reusable components are collected.
|  | |
|  | + Resources : all resources files i.e. not .cxx|.h should be clubbed in here. eg. *.ui, *.xml etc etc.
|  | + Chart : chart classes.
|  + Client : ServerManager dependent GUI components. Includes extensions to the components provided by GUI/Widgets.
+ Applications: Applications built on top of ParaQ 
+ Data : ParaQ Data
   |
   + Data : datasets
   + Baseline : testing baseline images.


  • Ideally, every directory should have a Testing directory that contains the testing scripts to test the components provided by that directory.