Changeset 1189

Show
Ignore:
Timestamp:
04/25/08 03:25:24 (2 weeks ago)
Author:
vossg
Message:

changed: started to rebuild the documentation

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Doc/opensg.doxy

    r907 r1189  
    109109# operators of the base classes will not be shown. 
    110110 
    111 INLINE_INHERITED_MEMB  = YES 
     111INLINE_INHERITED_MEMB  = NO 
    112112 
    113113# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full  
     
    10601060                        OSG_DEBUG_ARG                     \ 
    10611061                        OSG_DO_DOC                        \ 
    1062                         DOXYGEN_SHOULD_SKIP_THIS 
     1062                        DOXYGEN_SHOULD_SKIP_THIS          \ 
     1063                        __GNUC__                          \ 
     1064                        __linux                           \ 
     1065                        OSG_UNUSED_ATTRIB= 
    10631066 
    10641067# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then  
     
    10691072EXPAND_AS_DEFINED      =    OSG_CHECK_ARG \ 
    10701073                            OSG_BASELIB_DLLMAPPING \ 
    1071                             OSG_SYSTEMLIB_DLLMAPPING 
     1074                            OSG_SYSTEMLIB_DLLMAPPING \ 
     1075                            OSG_UNUSED_ATTRIB        \ 
     1076                            OSGT 
    10721077 
    10731078# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then  
  • trunk/SConstruct

    r1167 r1189  
    849849       
    850850   # Documentation 
    851    if "NONE" != common_env["docs_mode"]
     851   if "NONE" != common_env["docs_mode"] and not ARGUMENTS.has_key("ignore_docs")
    852852      # Todo:  
    853853      #   - put output into build dir 
     
    858858      dox_inp = "INPUT = " 
    859859      for (name,lib) in lib_map.iteritems(): 
    860          for i in lib.source_files: 
    861             dox_inp += "../Source/" + i + " " 
    862          for i in lib.header_files: 
    863             dox_inp += "../Source/" + i + " " 
    864        
     860         for i in lib.doc_extra_files: 
     861            dox_inp += "../" + i + " " 
     862 
     863         if ARGUMENTS.has_key("simple_docs"): 
     864            for i in lib.doc_source_files: 
     865               dox_inp += "../" + i + " " 
     866            for i in lib.doc_header_files: 
     867               dox_inp += "../" + i + " " 
     868         else: 
     869            for i in lib.source_files: 
     870               dox_inp += "../Source/" + i + " " 
     871            for i in lib.header_files: 
     872               dox_inp += "../Source/" + i + " " 
     873 
    865874      # Write it to a file that's included by doxygen 
    866875      # Need to do this to avoid environment size problems 
     
    883892         raise "Unknown docs_mode %s" % common_env["docs_mode"] 
    884893       
    885    # ---- FOR EACH VARIANT ----- # 
    886    # This is the core of the build. 
    887    if verbose_build: 
    888       print "types: ",    variant_helper.variants["type"] 
    889       #print "libtypes: ", variant_helper.variants["libtype"] 
    890       print "archs: ",    variant_helper.variants["arch"] 
    891        
    892    # We tread the first variant type special (auto link from libs here) 
    893    try: 
    894       default_combo_type = variant_helper.variants["type"][0][0] 
    895    except: 
    896       default_combo_type = None 
    897        
    898    for combo in variant_helper.iterate(locals(), base_bldr, common_env): 
     894   if not ARGUMENTS.has_key("docs_only"): 
     895 
     896      # ---- FOR EACH VARIANT ----- # 
     897      # This is the core of the build. 
     898      if verbose_build: 
     899         print "types: ",    variant_helper.variants["type"] 
     900         #print "libtypes: ", variant_helper.variants["libtype"] 
     901         print "archs: ",    variant_helper.variants["arch"] 
     902       
     903      # We tread the first variant type special (auto link from libs here) 
     904      try: 
     905         default_combo_type = variant_helper.variants["type"][0][0] 
     906      except: 
     907         default_combo_type = None 
     908       
     909      for combo in variant_helper.iterate(locals(), base_bldr, common_env): 
    899910      #baseEnv = env_bldr.applyToEnvironment(common_env.Copy(), variant=combo,options=opts) 
    900       print "   Processing combo: ", ", ".join(['%s:%s'%(i[0],i[1]) for i in combo.iteritems()]) 
    901  
    902       inst_paths = copy.copy(paths) 
    903       if "x64" == combo["arch"]: 
    904          inst_paths['lib'] = inst_paths['lib'] + '64' 
    905       inst_paths["lib_inst_combo"] = inst_paths["lib"] 
    906       if GetPlatform() != "win32": 
    907          if "debug" == combo["type"]: 
    908             inst_paths["lib_inst_combo"] = pj(inst_paths["lib_inst_combo"],"debug") 
    909          else: 
    910             inst_paths["lib_inst_combo"] = pj(inst_paths["lib_inst_combo"],"opt") 
    911        
    912       Export('build_env', 'inst_paths', 'opts', 'variant_pass', 'combo', 
    913              'lib_map', 'shared_lib_suffix', 'static_lib_suffix', 
    914              'default_combo_type', 'verbose_build') 
    915        
    916       # Process subdirectories 
    917       sub_dirs = ['Source'] 
    918       full_build_dir = pj(buildDir, combo_dir) 
    919       for d in sub_dirs: 
    920          SConscript(pj(d, 'SConscript'), build_dir = pj(full_build_dir, d), duplicate = 0) 
    921        
    922       # Build -config file based on first set installed 
    923       if 0 == variant_pass: 
    924          # - Create string using pprint.pformat that can build libmap (see osg-config.in for read) 
    925          lib_map_build_list = [] 
    926          for (name,lib) in lib_map.iteritems(): 
    927             lib_map_build_list.append(lib.dump()) 
     911         print "   Processing combo: ", ", ".join(['%s:%s'%(i[0],i[1]) for i in combo.iteritems()]) 
     912 
     913         inst_paths = copy.copy(paths) 
     914         if "x64" == combo["arch"]: 
     915            inst_paths['lib'] = inst_paths['lib'] + '64' 
     916         inst_paths["lib_inst_combo"] = inst_paths["lib"] 
     917         if GetPlatform() != "win32": 
     918            if "debug" == combo["type"]: 
     919               inst_paths["lib_inst_combo"] = pj(inst_paths["lib_inst_combo"],"debug") 
     920            else: 
     921               inst_paths["lib_inst_combo"] = pj(inst_paths["lib_inst_combo"],"opt") 
     922       
     923         Export('build_env', 'inst_paths', 'opts', 'variant_pass', 'combo', 
     924                'lib_map', 'shared_lib_suffix', 'static_lib_suffix', 
     925                'default_combo_type', 'verbose_build') 
     926       
     927         # Process subdirectories 
     928         sub_dirs = ['Source'] 
     929         full_build_dir = pj(buildDir, combo_dir) 
     930         for d in sub_dirs: 
     931            SConscript(pj(d, 'SConscript'), build_dir = pj(full_build_dir, d), duplicate = 0) 
     932       
     933         # Build -config file based on first set installed 
     934         if 0 == variant_pass: 
     935            # - Create string using pprint.pformat that can build libmap (see osg-config.in for read) 
     936            lib_map_build_list = [] 
     937            for (name,lib) in lib_map.iteritems(): 
     938               lib_map_build_list.append(lib.dump()) 
    928939             
    929             # Add an alias just for this lib and its unittests 
    930             Alias(name[3:], [ pj(full_build_dir, "Source", "lib" + name + common_env["SHLIBSUFFIX"]), \ 
    931                               pj(full_build_dir, "unittest", "run" + name)\ 
    932                             ]) 
    933  
    934          lib_map_str = pprint.pformat(lib_map_build_list) 
    935  
    936          if "win32" == platform: 
    937              inst_inc_path = inst_paths["include"].replace('\\','\\\\') 
    938              inst_prefix   = common_env["prefix"].replace('\\','\\\\') 
    939              inst_lib_path = inst_paths["lib"].replace('\\','\\\\') 
    940          else: 
    941              inst_inc_path = inst_paths["include"] 
    942              inst_prefix   = common_env["prefix"] 
    943              inst_lib_path = inst_paths["lib"] 
    944  
    945          submap = {'@LIB_MAP_STR@'      : lib_map_str, 
    946                    '@PREFIX@'           : inst_prefix, 
    947                    '@LIBPATH@'          : inst_lib_path, 
    948                    '@INCPATH@'          : inst_inc_path, 
    949                    '@VERSION@'          : opensg_version_string, 
    950                    '@LIBRARY_UTIL_SRC@' : file(pj('Tools','scons-build','LibraryUtils.py')).read()} 
    951          # Install two scripts so we have one with osg2 in the name to let users be sure they get the right version 
    952          for n in ["osg-config","osg2-config"]: 
    953             osg_config = common_env.SubstBuilder(pj(paths['bin'],n), 
    954                                     'osg-config.in', submap=submap) 
    955             common_env.AddPostAction(osg_config, Chmod('$TARGET', 0755)) 
    956             common_env.Depends(osg_config, Value(lib_map_str)) 
     940               # Add an alias just for this lib and its unittests 
     941               Alias(name[3:], [ pj(full_build_dir, "Source", "lib" + name + common_env["SHLIBSUFFIX"]), \ 
     942                                 pj(full_build_dir, "unittest", "run" + name)\ 
     943                               ]) 
     944 
     945            lib_map_str = pprint.pformat(lib_map_build_list) 
     946   
     947            if "win32" == platform: 
     948                inst_inc_path = inst_paths["include"].replace('\\','\\\\') 
     949                inst_prefix   = common_env["prefix"].replace('\\','\\\\') 
     950                inst_lib_path = inst_paths["lib"].replace('\\','\\\\') 
     951            else: 
     952                inst_inc_path = inst_paths["include"] 
     953                inst_prefix   = common_env["prefix"] 
     954                inst_lib_path = inst_paths["lib"] 
     955 
     956            submap = {'@LIB_MAP_STR@'      : lib_map_str, 
     957                      '@PREFIX@'           : inst_prefix, 
     958                      '@LIBPATH@'          : inst_lib_path, 
     959                      '@INCPATH@'          : inst_inc_path, 
     960                      '@VERSION@'          : opensg_version_string, 
     961                      '@LIBRARY_UTIL_SRC@' : file(pj('Tools','scons-build','LibraryUtils.py')).read()} 
     962            # Install two scripts so we have one with osg2 in the name to let users be sure they get the right version 
     963            for n in ["osg-config","osg2-config"]: 
     964               osg_config = common_env.SubstBuilder(pj(paths['bin'],n), 
     965                                                    'osg-config.in', submap=submap) 
     966               common_env.AddPostAction(osg_config, Chmod('$TARGET', 0755)) 
     967               common_env.Depends(osg_config, Value(lib_map_str)) 
    957968    
    958969   common_env.Alias('install', paths['base']) 
  • trunk/Source/Base/Base/Base.dox

    r106 r1189  
    2323*/ 
    2424 
     25/*! \defgroup GrpBaseBaseConstants Constants 
     26    \ingroup GrpBaseBase 
     27 
     28    ToDo 
     29*/ 
     30 
     31/*! \defgroup GrpBaseBaseTypeSystem TypeSystem 
     32    \ingroup GrpBaseBase 
     33 
     34    ToDo 
     35*/ 
     36 
     37#if 0 
     38 
     39 
     40 
    2541/*! \defgroup GrpBaseBaseBaseTypeTraits BaseTypesTraits 
    2642    \ingroup GrpBaseBase 
     
    4157*/ 
    4258 
    43 /*! \defgroup GrpBaseBaseConstants Constants 
    44     \ingroup GrpBaseBase 
    45  
    46     ToDo 
    47 */ 
    4859 
    4960/*! \defgroup GrpBaseBaseFileSystem FileSystem 
     
    119130*/ 
    120131 
    121 /*! \defgroup GrpBaseBaseTypeSystem TypeSystem 
    122     \ingroup GrpBaseBase 
    123  
    124     ToDo 
    125 */ 
    126132 
    127133/*! \defgroup GrpBaseBaseVolume Volume 
     
    146152    algorithms or to use STL containers.  
    147153 */ 
    148  
    149 /*! \page PageBase Base 
    150  
    151 \latexonly Starter:NewChapter \endlatexonly 
    152  
    153 All OpenSG symbols are part of the OSG name space, and they have no prefix. 
    154 The actual files, including headers, all use the OSG prefix. 
    155  
    156 */ 
    157154 
    158155/*! \page PageBaseTypes Base Types 
     
    426423 
    427424*/ 
    428  
    429 /* \page PageBaseFunctors Functors 
    430  
    431 Functors are the main method for OpenSG to call configurable actions. Functors 
    432 wrap calls to a standard function, to a member of a specific instance or to a 
    433 member of the first parameter.  
    434  
    435 Functors will have to be redesigned for 1.1, as they don't compile using the 
    436 Microsoft Visual Studio compiler. :( Thus we don't talk much about them here, 
    437 if you need to add a new action or GL object, send us mail. 
    438  
    439  
    440 */ 
    441  
    442  
     425#endif 
     426 
     427/*! \page PageBase Base 
     428 
     429\latexonly Starter:NewChapter \endlatexonly 
     430 
     431All OpenSG symbols are part of the OSG name space, and they have no prefix. 
     432The actual files, including headers, all use the OSG prefix. 
     433 
     434*/ 
     435 
     436/*! \page PageDoc General Documentation 
     437 
     438   Related Pages 
     439 
     440   \subpage PageBase 
     441   \subpage PageSystem 
     442 */ 
  • trunk/Source/Base/Base/OSGBaseTypes.h

    r940 r1189  
    638638#else 
    639639 
     640#ifndef DOXYGEN_SHOULD_SKIP_THIS 
    640641#if defined(__GNUC__) 
    641642#define OSG_UNUSED_ATTRIB __attribute__((__unused__)) 
     
    643644#define OSG_UNUSED_ATTRIB 
    644645#endif 
     646#endif 
    645647 
    646648/*! \ingroup GrpBaseBaseConstants 
     
    659661#undef OSG_UNUSED_ATTRIB 
    660662#endif 
     663 
     664#ifndef DOXYGEN_SHOULD_SKIP_THIS 
    661665 
    662666namespace PointerSize 
     
    672676                            Tmp1  >::type PtrSize; 
    673677} 
     678 
     679#endif 
     680 
     681/*! \ingroup GrpBaseBaseBaseTypes 
     682 */ 
    674683 
    675684typedef PointerSize::PtrSize UIntPointer; 
     
    688697typedef const BitVector ConstFieldMaskArg; 
    689698 
     699/*! FieldFlags 
     700    \ingroup GrpBaseBaseBaseTypes 
     701    \ingroup GrpBaseBase 
     702 */ 
     703 
    690704struct FieldFlags 
    691705{ 
  • trunk/Source/Base/Base/OSGTypeBase.cpp

    r785 r1189  
    5252#include "OSGLog.h" 
    5353 
    54 OSG_USING_NAMESPACE 
     54OSG_BEGIN_NAMESPACE 
    5555 
    5656//--------------------------------------------------------------------------- 
     
    5959 
    6060/*! \class TypeBase 
     61    \ingroup GrpBaseBaseTypeSystem 
     62    \ingroup GrpBaseBase 
     63 
    6164    Base for all types in the type system. 
    6265 
     
    7679    from the TypeFactory). This decouples the creation/initialization order from 
    7780    the inheritance hierarchy of the types. 
    78  
    79     \ingroup GrpBaseBaseTypeSystem 
    8081 
    8182    \see TypeFactory 
     
    372373 
    373374    \param[in] uiIndent Number of spaces to indent output. 
     375    \param[in] bvFlags Not used 
    374376 */ 
    375377void TypeBase::dump(      UInt32    uiIndent, 
     
    380382} 
    381383 
     384OSG_END_NAMESPACE 
  • trunk/Source/System/FieldContainer/Base/OSGReflexiveContainerType.cpp

    r943 r1189  
    5252#include <algorithm> 
    5353 
    54 OSG_USING_NAMESPACE 
     54OSG_BEGIN_NAMESPACE 
    5555 
    5656/*-------------------------------------------------------------------------*/ 
     
    402402    return returnValue; 
    403403} 
     404 
     405OSG_END_NAMESPACE 
  • trunk/Source/System/FieldContainer/Base/OSGReflexiveContainerType.h

    r634 r1189  
    5656typedef void (*InitalInsertDescFunc)(ReflexiveContainerType *); 
    5757 
    58 /*! \ingroup GrpSystemFieldContainer 
     58/*! \class ReflexiveContainerType 
     59    \ingroup GrpSystemFieldContainer 
    5960 */ 
    6061 
  • trunk/Source/System/FieldContainer/FieldContainer.dox

    r585 r1189  
    77 */ 
    88 
     9#if 0 
     10 
    911/*! \defgroup GrpSystemFieldContainerFuncs Field Container Functions 
    1012    \ingroup GrpSystem 
     
    1416    \ingroup GrpSystem 
    1517 */ 
    16  
     18#endif 
     19 
     20/*! \page PageSystemFieldsNFieldContainers Fields & Field Containers 
     21 
     22 */ 
     23 
     24/*! \page PageSystemFieldContainerExt Creating New FieldContainer Classes 
     25 */ 
     26 
     27#if 0 
    1728/*! \page PageSystemFieldsNFieldContainers Fields & Field Containers 
    1829 
     
    4152different subsets of field containers (Nodes, NodeCores, Attachments). 
    4253 
    43 For reasons connected to multi-threading (s. [threadsafety]) specific kinds of 
    44 pointers have to be used. For every FieldContainer type fc there is a specific 
    45 pointer type fcPtr. It has all the features of a standard pointer, i.e. it can 
    46 be dereferenced via -> and it can be downcasted to a derived type by 
    47 DerivedPtr.dcast( ParentPtr );. 
    48  
    4954Creating a new instance of a specific class is done by calling fcPtr 
    5055var=fcPtr::create().  
     
    96101out of scope. 
    97102 
    98 \example Use CPEditor for begin/endEdit: 
    99103 
    100104\code 
     
    111115\endcode 
    112116 
    113 \endexample 
    114  
    115 As a further (small) simplification there is a CPEdit macro that creates the 
    116 CPEditor instance automatically. 
    117  
    118 \example Use CPEdit for begin/endEdit: 
    119  
    120 \code 
    121  
    122     GeoPTypesPtr type = GeoPTypesUI8::create();         
    123     { 
    124         CPEdit(type, GeoPTypesUI8::GeoPropDataFieldMask); 
    125          
    126         type->addValue(GL_POLYGON  ); 
    127         type->addValue(GL_TRIANGLES); 
    128         type->addValue(GL_QUADS    ); 
    129     } 
    130  
    131 \endcode 
    132  
    133 \endexample 
     117 
    134118 
    135119 
     
    409393 
    410394#endif 
    411  
     395#endif 
  • trunk/Source/System/System.dox

    r585 r1189  
    55/*! \defgroup GrpSystem OpenSG System Library 
    66 
    7     \brief The System Library contains the main system-independent parts of OpenSG. 
     7    \brief The System Library contains the main system-independent parts of  
     8           OpenSG. 
    89 
    910    See \ref PageSystem for details. 
    1011*/ 
    1112 
     13#if 0 
    1214/*! \defgroup GrpSystemField Fields 
    1315    \ingroup GrpSystem 
     
    3638*/ 
    3739 
     40#endif 
     41 
    3842/*! \page PageSystem System 
     43    
     44   SystemLib 
    3945 
    40 SystemLib: everything not base and winsys 
     46   \subpage PageSystemFieldsNFieldContainers 
     47   \subpage PageSystemFieldContainerExt 
     48*/ 
    4149 
    42 */ 
  • trunk/Source/System/build.info

    r886 r1189  
    2626      frameworks = ['OpenGL', 'GLUT'] 
    2727      frameworkpath = [] 
     28 
     29   doc_extra_files = ['System.dox'] 
  • trunk/Tools/scons-build/BuildInfoScanner.py

    r1166 r1189  
    6060        self.libAttributes = ["osg_dep_libs", "libs", "frameworks", "cpppath", 
    6161                              "libpath", "frameworkpath","osg_test_libs", 
    62                               "other_test_libs","test_cpppath", 
    63                               "test_libpath", "cxx_flags"] 
     62                              "other_test_libs","test_cpppath", "doc_header_files", 
     63                              "doc_extra_files", "test_libpath", "cxx_flags", 
     64                              "doc_source_files" ] 
    6465     
    6566    def scan(self, scanDir = ""): 
     
    120121                print "Library name: ", libName 
    121122             
     123            if biDict.has_key('doc_header_files'): 
     124                tmplist = [] 
     125                for f in biDict['doc_header_files']: 
     126                    tmplist.append(pj(fullDir, f)) 
     127 
     128                biDict['doc_header_files'] = tmplist 
     129 
     130 
     131            if biDict.has_key('doc_source_files'): 
     132                tmplist = [] 
     133                for f in biDict['doc_source_files']: 
     134                    tmplist.append(pj(fullDir, f)) 
     135 
     136                biDict['doc_source_files'] = tmplist 
     137 
     138 
     139            if biDict.has_key('doc_extra_files'): 
     140                tmplist = [] 
     141                for f in biDict['doc_extra_files']: 
     142                    tmplist.append(pj(fullDir, f)) 
     143 
     144                biDict['doc_extra_files'] = tmplist 
     145 
    122146            # Add all the lib options from the evaluation 
    123147            # - Only add on the unique ones 
     
    137161        headerFiles   = [f for f in files if (os.path.splitext(f)[1] in [".h", ".inl", ".ins", ".hpp"] and 
    138162                                              os.path.basename(f).startswith("OSG"))] 
    139          
     163 
    140164        if self.env['enable_scanparse_in_builddir'] == True: 
    141165            parserFiles  = [f for f in files if (os.path.splitext(f)[1] in [".yy"] and 
  • trunk/Tools/scons-build/LibraryUtils.py

    r1166 r1189  
    99      self.source_files = []         # List of source files for this library 
    1010      self.header_files = []         # List of header files for this library 
     11      self.doc_source_files = []     # List of source files for this library 
     12      self.doc_header_files = []     # List of header files for this library 
     13      self.doc_extra_files = []      # List of header files for this library 
    1114      self.test_files = []           # list of source files for tests 
    1215      self.osg_dep_libs = []         # Names of OpenSG libraries we depend on 
     
    4245      for a in ["source_files","header_files","test_files","osg_dep_libs", 
    4346                "libs","libpath","frameworks","frameworkpath","cpppath", 
    44                 "cxx_flags", 
     47                "cxx_flags","doc_source_files","doc_header_files", 
    4548                "osg_test_libs","other_test_libs","test_cpppath","test_libpath","unittest_files"]: 
    4649         getattr(self,a).extend([i for i in getattr(other,a) if not i in getattr(self,a)])