User:Bugman/subsystems: Difference between revisions
Jump to navigation
Jump to search
m (→All subsystems) |
(→Tracking down subsystems: Update for the grep output.) |
||
(40 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
{{collapsible script | {{collapsible script | ||
| type = Python script | | type = Python script | ||
| title = | | title = The ''find_subsystems.py'' script for finding all subsystems within the flightgear and simgear C++ code bases. | ||
| intro = This script requires the ''grep'' Unix command, which can be installed on any OS. And it must be run with Python3. | | intro = This script requires the ''grep'' Unix command, which can be installed on any OS. And it must be run with Python3. | ||
| lang = python | | lang = python | ||
Line 14: | Line 14: | ||
# Python module imports. | # Python module imports. | ||
from argparse import ArgumentParser | |||
import operator | import operator | ||
from os import access, F_OK, sep | from os import access, F_OK, sep | ||
Line 35: | Line 36: | ||
"""Class for finding all subsystems and subsystem groups.""" | """Class for finding all subsystems and subsystem groups.""" | ||
def __init__(self): | def __init__(self, output=True): | ||
"""Find all subsystems and subsystem groups.""" | """Find all subsystems and subsystem groups. | ||
@keyword output: A flag which if False will suppress all output to STDOUT. | |||
@type output: bool | |||
""" | |||
# Command line options. | # Command line options. | ||
self. | self.parse_arguments() | ||
# SGSubsystem storage lists. | # SGSubsystem storage lists. | ||
Line 53: | Line 56: | ||
# The base objects. | # The base objects. | ||
subsystem_base = Subsystem("SGSubsystem", xml=self. | subsystem_base = Subsystem("SGSubsystem", xml=self.output_xml) | ||
group_base = Subsystem("SGSubsystemGroup", base_class=Subsystem("SGSubsystem"), xml=self. | group_base = Subsystem("SGSubsystemGroup", base_class=Subsystem("SGSubsystem"), xml=self.output_xml) | ||
# Add some problematic non-parsable classes. | # Add some problematic non-parsable classes. | ||
self.subsystems[1].append(Subsystem("FGAISim", base_class=Subsystem("FGInterface", base_class=Subsystem("SGSubsystem")), declaration_file="src/FDM/SP/AISim.hpp", xml=self. | if self.category_subsystems: | ||
self.subsystems[1].append(Subsystem("FGAISim", base_class=Subsystem("FGInterface", base_class=Subsystem("SGSubsystem")), static_id="aisim", declaration_file="src/FDM/SP/AISim.hpp", root_path=self.root_path("src/FDM/SP/AISim.hpp"), full_path=self.output_full_path, xml=self.output_xml)) | |||
# Find all SGSubsystem and SGSubsystemGroup derived classes. | # Find all SGSubsystem and SGSubsystemGroup derived classes. | ||
paths = [SIMGEAR_PATH, FLIGHTGEAR_PATH] | paths = [SIMGEAR_PATH, FLIGHTGEAR_PATH] | ||
if not self.output_flightgear: | |||
paths = [SIMGEAR_PATH] | |||
for path in paths: | for path in paths: | ||
self.find_primary(path=path, text="classes", primary=self.subsystems[0], base_name="SGSubsystem", base=subsystem_base, skip=["SGSubsystemGroup"]) | if self.category_subsystems: | ||
self.find_primary(path=path, text="groups", primary=self.groups[0], base_name="SGSubsystemGroup", base=group_base) | self.find_primary(path=path, text="classes", primary=self.subsystems[0], base_name="SGSubsystem", base=subsystem_base, skip=["SGSubsystemGroup"]) | ||
if self.category_groups: | |||
self.find_primary(path=path, text="groups", primary=self.groups[0], base_name="SGSubsystemGroup", base=group_base) | |||
self.find_secondary(path=path, text="classes", primary=self.subsystems[0], secondary=self.subsystems[1]) | if self.category_subsystems: | ||
self.find_secondary(path=path, text="groups", primary=self.groups[0], secondary=self.groups[1]) | self.find_secondary(path=path, text="classes", primary=self.subsystems[0], secondary=self.subsystems[1]) | ||
if self.category_groups: | |||
self.find_secondary(path=path, text="groups", primary=self.groups[0], secondary=self.groups[1]) | |||
self.find_tertiary(path=path, text="classes", secondary=self.subsystems[1], tertiary=self.subsystems[2]) | if self.category_subsystems: | ||
self.find_tertiary(path=path, text="groups", secondary=self.groups[1], tertiary=self.groups[2]) | self.find_tertiary(path=path, text="classes", secondary=self.subsystems[1], tertiary=self.subsystems[2]) | ||
if self.category_groups: | |||
self.find_tertiary(path=path, text="groups", secondary=self.groups[1], tertiary=self.groups[2]) | |||
self.find_quaternary(path=path, text="classes", tertiary=self.subsystems[2], quaternary=self.subsystems[3]) | if self.category_subsystems: | ||
self.find_quaternary(path=path, text="groups", tertiary=self.groups[2], quaternary=self.groups[3]) | self.find_quaternary(path=path, text="classes", tertiary=self.subsystems[2], quaternary=self.subsystems[3]) | ||
if self.category_groups: | |||
self.find_quaternary(path=path, text="groups", tertiary=self.groups[2], quaternary=self.groups[3]) | |||
# Find the subsystem and subsystem group implementation files. | # Find the subsystem and subsystem group implementation files. | ||
self.find_implementations() | self.find_implementations() | ||
# Text search. | |||
if self.search_flag: | |||
self.search() | |||
# Final summary. | # Final summary. | ||
self.summarise() | if output: | ||
self.summarise() | |||
Line 109: | Line 128: | ||
for subsystem in self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3] + self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3]: | for subsystem in self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3] + self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3]: | ||
# The repository location. | # The repository location. | ||
if subsystem.declaration_file | if self.is_simgear(subsystem.declaration_file): | ||
path = SIMGEAR_PATH | path = SIMGEAR_PATH | ||
else: | else: | ||
Line 127: | Line 146: | ||
file_name = subsystem.declaration_file[:-3] + "cxx" | file_name = subsystem.declaration_file[:-3] + "cxx" | ||
full_path = path + sep + file_name | full_path = path + sep + file_name | ||
if access(full_path, F_OK): | if access(full_path, F_OK): | ||
# The Unix grep commands to run. | # The Unix grep commands to run. | ||
cmds = [ | cmds = [ | ||
Line 139: | Line 158: | ||
lines = pipe.stdout.readlines() | lines = pipe.stdout.readlines() | ||
if len(lines): | if len(lines): | ||
subsystem. | subsystem.add_implementation_file(file_name) | ||
break | break | ||
Line 172: | Line 191: | ||
# Store the implementation file. | # Store the implementation file. | ||
elif len(files): | elif len(files): | ||
subsystem. | subsystem.add_implementation_file(files[0]) | ||
break | break | ||
Line 197: | Line 216: | ||
# Find all subsystems or groups. | # Find all subsystems or groups. | ||
for file_name, class_name in self.grep(path=path, base_name=base_name): | for file_name, class_name in self.grep(path=path, base_name=base_name, simgear=True): | ||
if class_name in skip: | if class_name in skip: | ||
continue | continue | ||
primary.append(Subsystem(class_name, base_class=base, declaration_file=file_name, xml=self. | primary.append(Subsystem(class_name, base_class=base, declaration_file=file_name, root_path=self.root_path(file_name), full_path=self.output_full_path, xml=self.output_xml)) | ||
# Sort the subsystems by name. | # Sort the subsystems by name. | ||
Line 224: | Line 243: | ||
# Loop over all primary subsystems. | # Loop over all primary subsystems. | ||
for subsystem in primary: | for subsystem in primary: | ||
for file_name, derived_class in self.grep(path=path, base_name=subsystem.name): | for file_name, derived_class in self.grep(path=path, base_name=subsystem.name, simgear=self.is_simgear(subsystem.declaration_file)): | ||
secondary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, xml=self. | secondary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, root_path=self.root_path(file_name), full_path=self.output_full_path, xml=self.output_xml)) | ||
# Sort the subsystems by name. | # Sort the subsystems by name. | ||
Line 249: | Line 268: | ||
# Loop over all secondary subsystems. | # Loop over all secondary subsystems. | ||
for subsystem in secondary: | for subsystem in secondary: | ||
for file_name, derived_class in self.grep(path=path, base_name=subsystem.name): | for file_name, derived_class in self.grep(path=path, base_name=subsystem.name, simgear=self.is_simgear(subsystem.declaration_file)): | ||
tertiary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, xml=self. | tertiary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, root_path=self.root_path(file_name), full_path=self.output_full_path, xml=self.output_xml)) | ||
# Sort all subsystems by name. | # Sort all subsystems by name. | ||
Line 274: | Line 293: | ||
# Loop over all tertiary subsystems. | # Loop over all tertiary subsystems. | ||
for subsystem in tertiary: | for subsystem in tertiary: | ||
for file_name, derived_class in self.grep(path=path, base_name=subsystem.name): | for file_name, derived_class in self.grep(path=path, base_name=subsystem.name, simgear=self.is_simgear(subsystem.declaration_file)): | ||
quaternary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, xml=self. | quaternary.append(Subsystem(derived_class, base_class=subsystem, declaration_file=file_name, root_path=self.root_path(file_name), full_path=self.output_full_path, xml=self.output_xml)) | ||
# Sort all subsystems by name. | # Sort all subsystems by name. | ||
Line 281: | Line 300: | ||
def grep(self, path=None, base_name=None): | def grep(self, path=None, base_name=None, simgear=False): | ||
"""Generator method for finding all classes derived from the given base name and repository. | """Generator method for finding all classes derived from the given base name and repository. | ||
Line 288: | Line 307: | ||
@keyword base_name: The name of the base class. | @keyword base_name: The name of the base class. | ||
@type base_name: str | @type base_name: str | ||
@keyword simgear: A flag specifying if the base class belongs to Simgear or not. | |||
@type simgear: bool | |||
@return: The source file and the name of the derived class. | @return: The source file and the name of the derived class. | ||
@rtype: str, str | @rtype: str, str | ||
Line 293: | Line 314: | ||
# The Unix grep command to run. | # The Unix grep command to run. | ||
cmd = 'cd %s; grep -rI %s "public \<%s\>" {{!}} grep -v "%s::"' % (path, self.grep_exclude_dir, base_name, base_name) | if simgear: | ||
cmd = 'cd %s; grep -rI %s "public \<%s\>\{{!}}public simgear.*::\<%s\>" {{!}} grep -v "%s::"' % (path, self.grep_exclude_dir, base_name, base_name, base_name) | |||
else: | |||
cmd = 'cd %s; grep -rI %s "public \<%s\>" {{!}} grep -v "%s::"' % (path, self.grep_exclude_dir, base_name, base_name) | |||
pipe = Popen(cmd, shell=True, stdout=PIPE) | pipe = Popen(cmd, shell=True, stdout=PIPE) | ||
Line 321: | Line 345: | ||
# Generator method. | # Generator method. | ||
yield file_name, class_name | yield file_name, class_name | ||
def is_simgear(self, file_name): | |||
"""Determine if the file is from simgear. | |||
@param file_name: The name of the file. | |||
@type file_name: str | |||
@return: True if the file is from simgear, False otherwise. | |||
@rtype: bool | |||
""" | |||
# Basic path check. | |||
if file_name[:7] == "simgear": | |||
return True | |||
return False | |||
def parse_arguments(self): | |||
"""Parse the command line arguments.""" | |||
# The argument parser. | |||
parser = ArgumentParser() | |||
# The output arguments. | |||
group = parser.add_argument_group("output arguments", "Change the output format.") | |||
group.add_argument("-t", "--text", default=False, action="store_true", help="Output in plain text format (the default).") | |||
group.add_argument("-x", "--xml", default=False, action="store_true", help="Output in XML format.") | |||
group.add_argument("-l", "--files", default=False, action="store_true", help="List all declaration and/or implementation files.") | |||
group.add_argument("-d", "--declaration-files", default=False, action="store_true", help="List the files where subsystems and subsystem groups are declared.") | |||
group.add_argument("-i", "--implementation-files", default=False, action="store_true", help="List the files where subsystems and subsystem groups are implemented.") | |||
group.add_argument("--classes", default=False, action="store_true", help="List all class names.") | |||
group.add_argument("-p", "--full-path", default=False, action="store_true", help="For file listings, include the SIMGEAR or FLIGHTGEAR absolute path.") | |||
# The text search arguments. | |||
group = parser.add_argument_group("text search arguments", "Search for certain text in the files.") | |||
group.add_argument("--search", metavar="TEXT", help="Search for the given text in the declaration and implementation files.") | |||
group.add_argument("--get-subsystem", default=False, action="store_true", help="Search for all get_subsystems() function calls.") | |||
group.add_argument("-c", "--includes", default=False, action="store_true", help="Extend the search to include included files.") | |||
# Code base selection. | |||
group = parser.add_argument_group("code base selections", "Choose between simgear and flightgear.") | |||
group.add_argument("-s", "--simgear", default=False, action="store_true", help="Exclusively output simgear subsystems.") | |||
group.add_argument("-f", "--flightgear", default=False, action="store_true", help="Exclusively output flightgear subsystems.") | |||
# Category selection. | |||
group = parser.add_argument_group("category selections", "Choose between subsystems and subsystem groups.") | |||
group.add_argument("-n", "--no-groups", default=False, action="store_true", help="Skip subsystem groups.") | |||
group.add_argument("-g", "--groups", default=False, action="store_true", help="Only process subsystem groups.") | |||
# Parse the arguments. | |||
args = parser.parse_args() | |||
# The output arguments. | |||
self.output_xml = args.xml | |||
self.output_format = "text" | |||
if args.text: | |||
self.output_format = "text" | |||
elif args.xml: | |||
self.output_format = "xml" | |||
elif args.files: | |||
self.output_format = "files" | |||
elif args.classes: | |||
self.output_format = "classes" | |||
elif args.declaration_files: | |||
self.output_format = "declaration files" | |||
elif args.implementation_files: | |||
self.output_format = "implementation files" | |||
self.output_full_path = args.full_path | |||
# The text search arguments. | |||
self.search_flag = False | |||
if args.search or args.get_subsystem: | |||
self.search_flag = True | |||
self.search_text = args.search | |||
self.search_get_subsystem = args.get_subsystem | |||
self.search_includes = args.includes | |||
# The code base arguments. | |||
self.output_simgear = True | |||
self.output_flightgear = True | |||
if args.simgear: | |||
self.output_flightgear = False | |||
if args.flightgear: | |||
self.output_simgear = False | |||
# The category arguments. | |||
self.category_subsystems = True | |||
self.category_groups = True | |||
if args.groups: | |||
self.category_subsystems = False | |||
if args.no_groups: | |||
self.category_groups = False | |||
def root_path(self, file_name): | |||
"""Determine the root for the given file. | |||
@param file_name: The name of the file. | |||
@type file_name: str | |||
@return: The root path. | |||
@rtype: str | |||
""" | |||
# The relative or absolute path. | |||
if self.is_simgear(file_name): | |||
return SIMGEAR_PATH | |||
else: | |||
return FLIGHTGEAR_PATH | |||
def search(self): | |||
"""Search for certain text in the declaration and implementation files (and includes).""" | |||
# The search text. | |||
search_text = self.search_text | |||
if self.search_get_subsystem: | |||
search_text = "get_subsystem" | |||
# Loop over all subsystems and groups. | |||
for subsystem in self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3] + self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3]: | |||
# The repository location. | |||
if self.is_simgear(subsystem.declaration_file): | |||
path = SIMGEAR_PATH | |||
else: | |||
path = FLIGHTGEAR_PATH | |||
# The files to search through. | |||
root = "" | |||
if not subsystem.root_path: | |||
root = path + sep | |||
files = [root+subsystem.declaration_file] | |||
if subsystem.implementation_file: | |||
files.append(root+subsystem.implementation_file) | |||
# Loop over each file. | |||
for file_name in files: | |||
# Extract the contents. | |||
file = open(file_name) | |||
lines = file.readlines() | |||
file.close() | |||
# Search. | |||
for line in lines: | |||
if search(search_text, line): | |||
print("%s: %s" % (file_name, line)) | |||
def summarise(self): | def summarise(self): | ||
"""Print out a summary of all found subsystems and subsystem groups.""" | """Print out a summary of all found subsystems and subsystem groups.""" | ||
# Basic file or class listings. | |||
if self.output_format in ["files", "declaration files", "implementation files", "classes"]: | |||
# Concatenate the lists. | |||
subsystem_list = [] | |||
if self.category_subsystems: | |||
subsystem_list += self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3] | |||
if self.category_groups: | |||
subsystem_list += self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3] | |||
# Loop over each subsystem, printing out the source files. | |||
for subsystem in subsystem_list: | |||
# Code base selections. | |||
if self.is_simgear(subsystem.declaration_file) and not self.output_simgear: | |||
continue | |||
if not self.is_simgear(subsystem.declaration_file) and not self.output_flightgear: | |||
continue | |||
# Output the source files. | |||
if self.output_format in ["files", "declaration files"]: | |||
if subsystem.full_path: | |||
print("%s%s%s" % (subsystem.root_path, sep, subsystem.declaration_file)) | |||
else: | |||
print("%s" % subsystem.declaration_file) | |||
if self.output_format in ["files", "implementation files"]: | |||
if subsystem.implementation_file: | |||
if subsystem.full_path: | |||
print("%s%s%s" % (subsystem.root_path, sep, subsystem.implementation_file)) | |||
else: | |||
print("%s" % subsystem.implementation_file) | |||
# Output the class name. | |||
if self.output_format == "classes": | |||
print("%s" % subsystem.name) | |||
# Skip the rest of the function. | |||
return | |||
# XML start. | # XML start. | ||
if self.xml | if self.output_xml: | ||
print("<?xml version=\"1.0\"?>") | |||
print("<subsystems>") | print("<subsystems>") | ||
Line 349: | Line 556: | ||
# Start. | # Start. | ||
if self. | if self.output_xml: | ||
print(" <%s_%s count=\"%i\">" % (labels[i], classes[j], counts[j])) | print(" <%s_%s count=\"%i\">" % (labels[i], classes[j], counts[j])) | ||
else: | else: | ||
Line 356: | Line 563: | ||
# Subsystems. | # Subsystems. | ||
for subsystem in subsystem_list: | for subsystem in subsystem_list: | ||
print(" %s" % ( | for line in repr(subsystem).split("\n"): | ||
print(" %s" % (line)) | |||
# End. | # End. | ||
if self. | if self.output_xml: | ||
print(" </%s_%s>" % (labels[i], classes[j])) | print(" </%s_%s>" % (labels[i], classes[j])) | ||
Line 373: | Line 581: | ||
subsystem_groups_flightgear = 0 | subsystem_groups_flightgear = 0 | ||
for subsystem in self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3]: | for subsystem in self.subsystems[0] + self.subsystems[1] + self.subsystems[2] + self.subsystems[3]: | ||
if subsystem.declaration_file | if self.is_simgear(subsystem.declaration_file): | ||
subsystem_classes_simgear += 1 | subsystem_classes_simgear += 1 | ||
else: | else: | ||
subsystem_classes_flightgear += 1 | subsystem_classes_flightgear += 1 | ||
for group in self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3]: | for group in self.groups[0] + self.groups[1] + self.groups[2] + self.groups[3]: | ||
if group.declaration_file | if self.is_simgear(group.declaration_file): | ||
subsystem_groups_simgear += 1 | subsystem_groups_simgear += 1 | ||
else: | else: | ||
Line 386: | Line 594: | ||
simgear_total = subsystem_classes_simgear + subsystem_groups_simgear | simgear_total = subsystem_classes_simgear + subsystem_groups_simgear | ||
flightgear_total = subsystem_classes_flightgear + subsystem_groups_flightgear | flightgear_total = subsystem_classes_flightgear + subsystem_groups_flightgear | ||
if self. | if self.output_xml: | ||
print(" <counts>") | print(" <counts>") | ||
print(" <simgear>") | print(" <simgear>") | ||
print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes_simgear) | if self.category_subsystems: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups_simgear) | print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes_simgear) | ||
print(" <total>%i</total>" % simgear_total) | if self.category_groups: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups_simgear) | |||
if self.category_subsystems and self.category_groups: | |||
print(" <total>%i</total>" % simgear_total) | |||
print(" </simgear>") | print(" </simgear>") | ||
print(" <flightgear>") | print(" <flightgear>") | ||
print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes_flightgear) | if self.category_subsystems: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups_flightgear) | print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes_flightgear) | ||
print(" <total>%i</total>" % flightgear_total) | if self.category_groups: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups_flightgear) | |||
if self.category_subsystems and self.category_groups: | |||
print(" <total>%i</total>" % flightgear_total) | |||
print(" </flightgear>") | print(" </flightgear>") | ||
print(" <combined>") | print(" <combined>") | ||
print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes) | if self.category_subsystems: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups) | print(" <subsystem_classes>%i</subsystem_classes>" % subsystem_classes) | ||
print(" <total>%i</total>" % subsystem_total) | if self.category_groups: | ||
print(" <subsystem_groups>%i</subsystem_groups>" % subsystem_groups) | |||
if self.category_subsystems and self.category_groups: | |||
print(" <total>%i</total>" % subsystem_total) | |||
print(" </combined>") | print(" </combined>") | ||
print(" </counts>") | print(" </counts>") | ||
Line 410: | Line 627: | ||
# XML end. | # XML end. | ||
if self. | if self.output_xml: | ||
print("</subsystems>") | print("</subsystems>") | ||
Line 418: | Line 635: | ||
"""Object for storing the information for a specific subsystem.""" | """Object for storing the information for a specific subsystem.""" | ||
def __init__(self, name, base_class=None, declaration_file=None, implementation_file=None, xml=False): | def __init__(self, name, base_class=None, static_id=None, declaration_file=None, implementation_file=None, root_path=None, full_path=False, xml=False): | ||
"""Set up the object. | """Set up the object. | ||
@param name: | @param name: The name of the subsystem. | ||
@type name: | @type name: str | ||
@keyword base_class: | @keyword base_class: The name of the base class. | ||
@type base_class: | @type base_class: str | ||
@keyword declaration_file: | @keyword static_id: The value returned by staticSubsystemClassId(). | ||
@type declaration_file: | @type static_id: str | ||
@keyword implementation_file: | @keyword declaration_file: The name of the file containing the subsystem declaration. | ||
@type implementation_file: | @type declaration_file: str | ||
@keyword xml: | @keyword implementation_file: The name of the file containing the subsystem implementation. | ||
@type xml: | @type implementation_file: str or None | ||
@keyword root_path: The root path to the files. | |||
@type root_path: str | |||
@keyword full_path: A flag which if True will cause the full paths to be shown. | |||
@type full_path: bool | |||
@keyword xml: Produce a valid XML representation of the object. | |||
@type xml: bool | |||
""" | """ | ||
Line 436: | Line 659: | ||
self.name = name | self.name = name | ||
self.base_class = base_class | self.base_class = base_class | ||
self.staticSubsystemClassId = static_id | |||
self.implementation_file = implementation_file | |||
self.declaration_file = declaration_file | self.declaration_file = declaration_file | ||
self. | self.root_path = root_path | ||
self.full_path = full_path | |||
self.xml = xml | self.xml = xml | ||
# Data extraction. | |||
self.info_extraction() | |||
Line 447: | Line 676: | ||
@rtype: str | @rtype: str | ||
""" | """ | ||
# The inheritance chain. | # The inheritance chain. | ||
inheritance = "" | |||
if self.base_class: | if self.base_class: | ||
inheritance += "%s" % self.base_class.name | |||
if self.base_class.base_class: | if self.base_class.base_class: | ||
inheritance += " : %s" % self.base_class.base_class.name | |||
if self.base_class.base_class.base_class: | if self.base_class.base_class.base_class: | ||
inheritance += " : %s" % self.base_class.base_class.base_class.name | |||
if self.base_class.base_class.base_class.base_class: | if self.base_class.base_class.base_class.base_class: | ||
inheritance += " : %s" % self.base_class.base_class.base_class.base_class.name | |||
if self.base_class.base_class.base_class.base_class.base_class: | if self.base_class.base_class.base_class.base_class.base_class: | ||
inheritance += " : %s" % self.base_class.base_class.base_class.base_class.base_class.name | |||
if self. | |||
# XML representation. | |||
if self.xml: | |||
return self.__repr_xml__(inheritance) | |||
# The subsystem name and inheritance chain. | |||
string = "<%s : %s" % (self.name, inheritance) | |||
# Add the static class ID. | |||
if self.staticSubsystemClassId: | |||
string += " staticSubsystemClassId is \"%s\"" % self.staticSubsystemClassId | |||
# Add the declaration file name. | # Add the declaration file name. | ||
if self. | file = self.declaration_file | ||
if self.full_path: | |||
file = self.root_path + sep + self.declaration_file | |||
string += " declared in \"%s\"" % file | |||
# Add the implementation file name. | # Add the implementation file name. | ||
if self.implementation_file: | if self.implementation_file: | ||
if self. | file = self.implementation_file | ||
if self.full_path: | |||
file = self.root_path + sep + self.implementation_file | |||
string += ", implemented in \"%s\"" % file | |||
# Closure. | # Closure. | ||
string += ">" | string += ">" | ||
# Return the representation. | # Return the representation. | ||
return string | return string | ||
def __repr_xml__(self, inheritance=""): | |||
"""Create a XML representation of the object. | |||
@keyword inheritance: The string representation of the inheritance chain. | |||
@type inheritance: str | |||
@return: The XML representation. | |||
@rtype: str | |||
""" | |||
# Start. | |||
string = "<%s>\n" % self.name | |||
# The inheritance chain. | |||
string += " <inheritance>%s</inheritance>\n" % inheritance | |||
# Add the static class ID. | |||
if self.staticSubsystemClassId: | |||
string += " <staticSubsystemClassId>%s</staticSubsystemClassId>\n" % self.staticSubsystemClassId | |||
# Add the declaration file name. | |||
file = self.declaration_file | |||
if self.full_path: | |||
file = self.root_path + sep + self.declaration_file | |||
string += " <declaration>%s</declaration>\n" % file | |||
# Add the implementation file name. | |||
if self.implementation_file: | |||
file = self.implementation_file | |||
if self.full_path: | |||
file = self.root_path + sep + self.implementation_file | |||
string += " <implementation>%s</implementation>\n" % file | |||
# End. | |||
string += "</%s>" % self.name | |||
# Return the string. | |||
return string | |||
def add_implementation_file(self, implementation_file=None): | |||
"""Set up the object. | |||
@keyword implementation_file: The path of the file containing the subsystem implementation. | |||
@type implementation_file: str or None | |||
""" | |||
# Store the file. | |||
self.implementation_file = implementation_file | |||
def info_extraction(self): | |||
"""Extract subsystem information from the source files.""" | |||
# No declaration. | |||
if not self.declaration_file: | |||
return | |||
# Open the declaration file. | |||
file = open(self.root_path + sep + self.declaration_file) | |||
lines = file.readlines() | |||
file.close() | |||
# Loop over the file contents. | |||
in_decl = False | |||
for i in range(len(lines)): | |||
# The start of the declaration. | |||
if search("^class %s : " % self.name, lines[i]): | |||
in_decl = True | |||
continue | |||
# Skip the line. | |||
if not in_decl: | |||
continue | |||
# Out of the declaration. | |||
if search("^};", lines[i]): | |||
in_decl = False | |||
continue | |||
# The static subsystem class ID. | |||
if search("static const char\* staticSubsystemClassId()", lines[i]): | |||
id = lines[i].split("return \"")[1] | |||
id = id.split("\"")[0] | |||
self.staticSubsystemClassId = id | |||
Line 531: | Line 845: | ||
The result is: | The result is: | ||
{{collapsible script | |||
| type = Text output | |||
| title = A listing of all flightgear and simgear subsystems and subsystem groups. | |||
| intro = Output from the Python script for finding all subsystems within the flightgear and simgear C++ code bases. The error output from the script was redirected and hence not shown below. | |||
| lang = c | |||
| script = | |||
Primary subsystems (90): | |||
<AbstractInstrument : SGSubsystem declared in "src/Instrumentation/AbstractInstrument.hxx", implemented in "src/Instrumentation/AbstractInstrument.cxx"> | |||
<AirportDynamicsManager : SGSubsystem staticSubsystemClassId is "airport-dynamics" declared in "src/Airports/airportdynamicsmanager.hxx", implemented in "src/Airports/airportdynamicsmanager.cxx"> | |||
<AirspeedIndicator : SGSubsystem staticSubsystemClassId is "airspeed-indicator" declared in "src/Instrumentation/airspeed_indicator.hxx", implemented in "src/Instrumentation/airspeed_indicator.cxx"> | |||
<Altimeter : SGSubsystem staticSubsystemClassId is "altimeter" declared in "src/Instrumentation/altimeter.hxx", implemented in "src/Instrumentation/altimeter.cxx"> | |||
<AnotherSub : SGSubsystem staticSubsystemClassId is "anothersub" declared in "simgear/structure/subsystem_test.cxx"> | |||
<AreaSampler : SGSubsystem staticSubsystemClassId is "area" declared in "src/Environment/terrainsampler.cxx", implemented in "src/Environment/terrainsampler.cxx"> | |||
<AttitudeIndicator : SGSubsystem staticSubsystemClassId is "attitude-indicator" declared in "src/Instrumentation/attitude_indicator.hxx", implemented in "src/Instrumentation/attitude_indicator.cxx"> | |||
<Clock : SGSubsystem staticSubsystemClassId is "clock" declared in "src/Instrumentation/clock.hxx", implemented in "src/Instrumentation/clock.cxx"> | |||
<Component : SGSubsystem declared in "src/Autopilot/component.hxx", implemented in "src/Autopilot/component.cxx"> | |||
<Ephemeris : SGSubsystem staticSubsystemClassId is "ephemeris" declared in "src/Environment/ephemeris.hxx", implemented in "src/Environment/ephemeris.cxx"> | |||
<FDMShell : SGSubsystem staticSubsystemClassId is "flight" declared in "src/FDM/fdm_shell.hxx", implemented in "src/FDM/fdm_shell.cxx"> | |||
<FGAIManager : SGSubsystem staticSubsystemClassId is "ai-model" declared in "src/AIModel/AIManager.hxx", implemented in "src/AIModel/AIManager.cxx"> | |||
<FGATCManager : SGSubsystem staticSubsystemClassId is "ATC" declared in "src/ATC/atc_mgr.hxx", implemented in "src/ATC/atc_mgr.cxx"> | |||
<FGAircraftModel : SGSubsystem staticSubsystemClassId is "aircraft-model" declared in "src/Model/acmodel.hxx", implemented in "src/Model/acmodel.cxx"> | |||
<FGCom : SGSubsystem staticSubsystemClassId is "fgcom" declared in "src/Network/fgcom.hxx", implemented in "src/Network/fgcom.cxx"> | |||
<FGControls : SGSubsystem staticSubsystemClassId is "controls" declared in "src/Aircraft/controls.hxx", implemented in "src/Aircraft/controls.cxx"> | |||
<FGDNSClient : SGSubsystem staticSubsystemClassId is "dns" declared in "src/Network/DNSClient.hxx", implemented in "src/Network/DNSClient.cxx"> | |||
<FGElectricalSystem : SGSubsystem staticSubsystemClassId is "electrical" declared in "src/Systems/electrical.hxx", implemented in "src/Systems/electrical.cxx"> | |||
<FGEventInput : SGSubsystem declared in "src/Input/FGEventInput.hxx", implemented in "src/Input/FGEventInput.cxx"> | |||
<FGFlightHistory : SGSubsystem staticSubsystemClassId is "history" declared in "src/Aircraft/FlightHistory.hxx", implemented in "src/Aircraft/FlightHistory.cxx"> | |||
<FGHTTPClient : SGSubsystem staticSubsystemClassId is "http" declared in "src/Network/HTTPClient.hxx", implemented in "src/Network/HTTPClient.cxx"> | |||
<FGHttpd : SGSubsystem staticSubsystemClassId is "httpd" declared in "src/Network/http/httpd.hxx"> | |||
<FGIO : SGSubsystem staticSubsystemClassId is "io" declared in "src/Main/fg_io.hxx", implemented in "src/Main/fg_io.cxx"> | |||
<FGInstrumentMgr : SGSubsystem staticSubsystemClassId is "instrumentation" declared in "src/Instrumentation/instrument_mgr.hxx", implemented in "src/Instrumentation/instrument_mgr.cxx"> | |||
<FGInterface : SGSubsystem declared in "src/FDM/flight.hxx", implemented in "src/FDM/flight.cxx"> | |||
<FGJoystickInput : SGSubsystem staticSubsystemClassId is "input-joystick" declared in "src/Input/FGJoystickInput.hxx", implemented in "src/Input/FGJoystickInput.cxx"> | |||
<FGKR_87 : SGSubsystem staticSubsystemClassId is "KR-87" declared in "src/Instrumentation/kr_87.hxx", implemented in "src/Instrumentation/kr_87.cxx"> | |||
<FGKeyboardInput : SGSubsystem staticSubsystemClassId is "input-keyboard" declared in "src/Input/FGKeyboardInput.hxx", implemented in "src/Input/FGKeyboardInput.cxx"> | |||
<FGLight : SGSubsystem staticSubsystemClassId is "lighting" declared in "src/Time/light.hxx", implemented in "src/Time/light.cxx"> | |||
<FGLogger : SGSubsystem staticSubsystemClassId is "logger" declared in "src/Main/logger.hxx", implemented in "src/Main/logger.cxx"> | |||
<FGMagVarManager : SGSubsystem staticSubsystemClassId is "magvar" declared in "src/Environment/magvarmanager.hxx", implemented in "src/Environment/magvarmanager.cxx"> | |||
<FGModelMgr : SGSubsystem staticSubsystemClassId is "model-manager" declared in "src/Model/modelmgr.hxx", implemented in "src/Model/modelmgr.cxx"> | |||
<FGMouseInput : SGSubsystem staticSubsystemClassId is "input-mouse" declared in "src/Input/FGMouseInput.hxx", implemented in "src/Input/FGMouseInput.cxx"> | |||
<FGMultiplayMgr : SGSubsystem staticSubsystemClassId is "mp" declared in "src/MultiPlayer/multiplaymgr.hxx", implemented in "src/MultiPlayer/multiplaymgr.cxx"> | |||
<FGNasalSys : SGSubsystem staticSubsystemClassId is "nasal" declared in "src/Scripting/NasalSys.hxx", implemented in "src/Scripting/NasalSys.cxx"> | |||
<FGPanel : SGSubsystem staticSubsystemClassId is "panel" declared in "utils/fgpanel/FGPanel.hxx", implemented in "utils/fgpanel/FGPanel.cxx"> | |||
<FGPanelProtocol : SGSubsystem staticSubsystemClassId is "panel-protocol" declared in "utils/fgpanel/FGPanelProtocol.hxx", implemented in "utils/fgpanel/FGPanelProtocol.cxx"> | |||
<FGPrecipitationMgr : SGSubsystem staticSubsystemClassId is "precipitation" declared in "src/Environment/precipitation_mgr.hxx", implemented in "src/Environment/precipitation_mgr.cxx"> | |||
<FGProperties : SGSubsystem staticSubsystemClassId is "properties" declared in "src/Main/fg_props.hxx", implemented in "src/Main/fg_props.cxx"> | |||
<FGReplay : SGSubsystem staticSubsystemClassId is "replay" declared in "src/Aircraft/replay.hxx", implemented in "src/Aircraft/replay.cxx"> | |||
<FGRidgeLift : SGSubsystem staticSubsystemClassId is "ridgelift" declared in "src/Environment/ridge_lift.hxx", implemented in "src/Environment/ridge_lift.cxx"> | |||
<FGRouteMgr : SGSubsystem staticSubsystemClassId is "route-manager" declared in "src/Autopilot/route_mgr.hxx", implemented in "src/Autopilot/route_mgr.cxx"> | |||
<FGScenery : SGSubsystem staticSubsystemClassId is "scenery" declared in "src/Scenery/scenery.hxx", implemented in "src/Scenery/scenery.cxx"> | |||
<FGSoundManager : SGSubsystem staticSubsystemClassId is "sound" declared in "src/Sound/soundmanager.hxx", implemented in "src/Sound/soundmanager.cxx"> | |||
<FGSubmodelMgr : SGSubsystem staticSubsystemClassId is "submodel-mgr" declared in "src/AIModel/submodel.hxx", implemented in "src/AIModel/submodel.cxx"> | |||
<FGSubsystemExample : SGSubsystem declared in "docs-mini/README.introduction"> | |||
<FGTrafficManager : SGSubsystem staticSubsystemClassId is "traffic-manager" declared in "src/Traffic/TrafficMgr.hxx", implemented in "src/Traffic/TrafficMgr.cxx"> | |||
<FGViewMgr : SGSubsystem staticSubsystemClassId is "view-manager" declared in "src/Viewer/viewmgr.hxx", implemented in "src/Viewer/viewmgr.cxx"> | |||
<FGVoiceMgr : SGSubsystem staticSubsystemClassId is "voice" declared in "src/Sound/voice.hxx", implemented in "src/Sound/voice.cxx"> | |||
<FakeRadioSub : SGSubsystem staticSubsystemClassId is "fake-radio" declared in "simgear/structure/subsystem_test.cxx"> | |||
<GPS : SGSubsystem staticSubsystemClassId is "gps" declared in "src/Instrumentation/gps.hxx", implemented in "src/Instrumentation/gps.cxx"> | |||
<GSDI : SGSubsystem staticSubsystemClassId is "gsdi" declared in "src/Instrumentation/gsdi.hxx", implemented in "src/Instrumentation/gsdi.cxx"> | |||
<GUIMgr : SGSubsystem staticSubsystemClassId is "CanvasGUI" declared in "src/Canvas/gui_mgr.hxx", implemented in "src/Canvas/gui_mgr.cxx"> | |||
<GroundRadar : SGSubsystem staticSubsystemClassId is "groundradar" declared in "src/Cockpit/groundradar.hxx", implemented in "src/Cockpit/groundradar.cxx"> | |||
<HUD : SGSubsystem staticSubsystemClassId is "hud" declared in "src/Instrumentation/HUD/HUD.hxx", implemented in "src/Instrumentation/HUD/HUD.cxx"> | |||
<HeadingIndicator : SGSubsystem staticSubsystemClassId is "heading-indicator" declared in "src/Instrumentation/heading_indicator.hxx", implemented in "src/Instrumentation/heading_indicator.cxx"> | |||
<HeadingIndicatorDG : SGSubsystem staticSubsystemClassId is "heading-indicator-dg" declared in "src/Instrumentation/heading_indicator_dg.hxx", implemented in "src/Instrumentation/heading_indicator_dg.cxx"> | |||
<HeadingIndicatorFG : SGSubsystem staticSubsystemClassId is "heading-indicator-fg" declared in "src/Instrumentation/heading_indicator_fg.hxx", implemented in "src/Instrumentation/heading_indicator_fg.cxx"> | |||
<InstVerticalSpeedIndicator : SGSubsystem staticSubsystemClassId is "inst-vertical-speed-indicator" declared in "src/Instrumentation/inst_vertical_speed_indicator.hxx", implemented in "src/Instrumentation/inst_vertical_speed_indicator.cxx"> | |||
<LayerInterpolateController : SGSubsystem declared in "src/Environment/environment_ctrl.hxx"> | |||
<MK_VIII : SGSubsystem staticSubsystemClassId is "mk-viii" declared in "src/Instrumentation/mk_viii.hxx", implemented in "src/Instrumentation/mk_viii.cxx"> | |||
<MagCompass : SGSubsystem staticSubsystemClassId is "magnetic-compass" declared in "src/Instrumentation/mag_compass.hxx", implemented in "src/Instrumentation/mag_compass.cxx"> | |||
<MasterReferenceGyro : SGSubsystem staticSubsystemClassId is "master-reference-gyro" declared in "src/Instrumentation/mrg.hxx", implemented in "src/Instrumentation/mrg.cxx"> | |||
<MySub1 : SGSubsystem staticSubsystemClassId is "mysub" declared in "simgear/structure/subsystem_test.cxx"> | |||
<NavDisplay : SGSubsystem staticSubsystemClassId is "navigation-display" declared in "src/Cockpit/NavDisplay.hxx", implemented in "src/Cockpit/NavDisplay.cxx"> | |||
<NavRadio : SGSubsystem staticSubsystemClassId is "nav-radio" declared in "src/Instrumentation/newnavradio.hxx", implemented in "src/Instrumentation/newnavradio.cxx"> | |||
<NewGUI : SGSubsystem staticSubsystemClassId is "gui" declared in "src/GUI/new_gui.hxx", implemented in "src/GUI/new_gui.cxx"> | |||
<PerformanceDB : SGSubsystem staticSubsystemClassId is "aircraft-performance-db" declared in "src/AIModel/performancedb.hxx", implemented in "src/AIModel/performancedb.cxx"> | |||
<PitotSystem : SGSubsystem staticSubsystemClassId is "pitot" declared in "src/Systems/pitot.hxx", implemented in "src/Systems/pitot.cxx"> | |||
<PropertyBasedMgr : SGSubsystem declared in "simgear/props/PropertyBasedMgr.hxx", implemented in "simgear/props/PropertyBasedMgr.cxx"> | |||
<PropertyInterpolationMgr : SGSubsystem declared in "simgear/props/PropertyInterpolationMgr.hxx", implemented in "simgear/props/PropertyInterpolationMgr.cxx"> | |||
<RadarAltimeter : SGSubsystem staticSubsystemClassId is "radar-altimeter" declared in "src/Instrumentation/rad_alt.hxx", implemented in "src/Instrumentation/rad_alt.cxx"> | |||
<RealWxController : SGSubsystem declared in "src/Environment/realwx_ctrl.hxx", implemented in "src/Environment/realwx_ctrl.cxx"> | |||
<SGEventMgr : SGSubsystem staticSubsystemClassId is "events" declared in "simgear/structure/event_mgr.hxx", implemented in "simgear/structure/event_mgr.cxx"> | |||
<SGInterpolator : SGSubsystem staticSubsystemClassId is "interpolator" declared in "simgear/misc/interpolator.hxx", implemented in "simgear/misc/interpolator.cxx"> | |||
<SGPerformanceMonitor : SGSubsystem staticSubsystemClassId is "performance-mon" declared in "simgear/structure/SGPerfMon.hxx", implemented in "simgear/structure/SGPerfMon.cxx"> | |||
<SGSoundMgr : SGSubsystem staticSubsystemClassId is "sound" declared in "simgear/sound/soundmgr.hxx"> | |||
<SGSubsystemMgr : SGSubsystem staticSubsystemClassId is "subsystem-mgr" declared in "simgear/structure/subsystem_mgr.hxx", implemented in "simgear/structure/subsystem_mgr.cxx"> | |||
<SGTerraSync : SGSubsystem staticSubsystemClassId is "terrasync" declared in "simgear/scene/tsync/terrasync.hxx", implemented in "simgear/scene/tsync/terrasync.cxx"> | |||
<SlipSkidBall : SGSubsystem staticSubsystemClassId is "slip-skid-ball" declared in "src/Instrumentation/slip_skid_ball.hxx", implemented in "src/Instrumentation/slip_skid_ball.cxx"> | |||
<StaticSystem : SGSubsystem staticSubsystemClassId is "static" declared in "src/Systems/static.hxx", implemented in "src/Systems/static.cxx"> | |||
<SwiftConnection : SGSubsystem staticSubsystemClassId is "swift" declared in "src/Network/Swift/swift_connection.hxx", implemented in "src/Network/Swift/swift_connection.cxx"> | |||
<TACAN : SGSubsystem staticSubsystemClassId is "tacan" declared in "src/Instrumentation/tacan.hxx", implemented in "src/Instrumentation/tacan.cxx"> | |||
<TCAS : SGSubsystem staticSubsystemClassId is "tcas" declared in "src/Instrumentation/tcas.hxx", implemented in "src/Instrumentation/tcas.cxx"> | |||
<TimeManager : SGSubsystem staticSubsystemClassId is "time" declared in "src/Time/TimeManager.hxx", implemented in "src/Time/TimeManager.cxx"> | |||
<TurnIndicator : SGSubsystem staticSubsystemClassId is "turn-indicator" declared in "src/Instrumentation/turn_indicator.hxx", implemented in "src/Instrumentation/turn_indicator.cxx"> | |||
<VacuumSystem : SGSubsystem staticSubsystemClassId is "vacuum" declared in "src/Systems/vacuum.hxx", implemented in "src/Systems/vacuum.cxx"> | |||
<VerticalSpeedIndicator : SGSubsystem staticSubsystemClassId is "vertical-speed-indicator" declared in "src/Instrumentation/vertical_speed_indicator.hxx", implemented in "src/Instrumentation/vertical_speed_indicator.cxx"> | |||
<View : SGSubsystem staticSubsystemClassId is "view" declared in "src/Viewer/view.hxx", implemented in "src/Viewer/view.cxx"> | |||
<wxRadarBg : SGSubsystem staticSubsystemClassId is "radar" declared in "src/Cockpit/wxradar.hxx", implemented in "src/Cockpit/wxradar.cxx"> | |||
Primary groups (8): | |||
<Autopilot : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "autopilot" declared in "src/Autopilot/autopilot.hxx", implemented in "src/Autopilot/autopilot.cxx"> | |||
<CockpitDisplayManager : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "cockpit-displays" declared in "src/Cockpit/cockpitDisplayManager.hxx", implemented in "src/Cockpit/cockpitDisplayManager.cxx"> | |||
<FGEnvironmentMgr : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "environment" declared in "src/Environment/environment_mgr.hxx", implemented in "src/Environment/environment_mgr.cxx"> | |||
<FGInput : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "input" declared in "src/Input/input.hxx", implemented in "src/Input/input.cxx"> | |||
<FGSystemMgr : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "systems" declared in "src/Systems/system_mgr.hxx", implemented in "src/Systems/system_mgr.cxx"> | |||
<FGXMLAutopilotGroup : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "xml-rules" declared in "src/Autopilot/autopilotgroup.hxx", implemented in "src/Autopilot/autopilotgroup.cxx"> | |||
<InstrumentGroup : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "instruments" declared in "simgear/structure/subsystem_test.cxx"> | |||
<TerrainSampler : SGSubsystemGroup : SGSubsystem declared in "src/Environment/terrainsampler.hxx"> | |||
Secondary subsystems (32): | |||
<ADF : AbstractInstrument : SGSubsystem staticSubsystemClassId is "adf" declared in "src/Instrumentation/adf.hxx", implemented in "src/Instrumentation/adf.cxx"> | |||
<AnalogComponent : Component : SGSubsystem declared in "src/Autopilot/analogcomponent.hxx", implemented in "src/Autopilot/analogcomponent.cxx"> | |||
<BasicRealWxController : RealWxController : SGSubsystem declared in "src/Environment/realwx_ctrl.cxx", implemented in "src/Environment/realwx_ctrl.cxx"> | |||
<CanvasMgr : PropertyBasedMgr : SGSubsystem declared in "simgear/canvas/CanvasMgr.hxx", implemented in "simgear/canvas/CanvasMgr.cxx"> | |||
<CommRadio : AbstractInstrument : SGSubsystem staticSubsystemClassId is "comm-radio" declared in "src/Instrumentation/commradio.hxx", implemented in "src/Instrumentation/commradio.cxx"> | |||
<DME : AbstractInstrument : SGSubsystem staticSubsystemClassId is "dme" declared in "src/Instrumentation/dme.hxx", implemented in "src/Instrumentation/dme.cxx"> | |||
<DigitalComponent : Component : SGSubsystem declared in "src/Autopilot/digitalcomponent.hxx", implemented in "src/Autopilot/digitalcomponent.cxx"> | |||
<FGACMS : FGInterface : SGSubsystem staticSubsystemClassId is "acms" declared in "src/FDM/SP/ACMS.hxx", implemented in "src/FDM/SP/ACMS.cxx"> | |||
<FGADA : FGInterface : SGSubsystem staticSubsystemClassId is "ada" declared in "src/FDM/SP/ADA.hxx", implemented in "src/FDM/SP/ADA.cxx"> | |||
<FGAISim : FGInterface : SGSubsystem staticSubsystemClassId is "aisim" declared in "src/FDM/SP/AISim.hpp", implemented in "src/FDM/SP/AISim.cpp"> | |||
<FGBalloonSim : FGInterface : SGSubsystem staticSubsystemClassId is "balloon" declared in "src/FDM/SP/Balloon.h", implemented in "src/FDM/SP/Balloon.cxx"> | |||
<FGExternalNet : FGInterface : SGSubsystem staticSubsystemClassId is "network" declared in "src/FDM/ExternalNet/ExternalNet.hxx", implemented in "src/FDM/ExternalNet/ExternalNet.cxx"> | |||
<FGExternalPipe : FGInterface : SGSubsystem staticSubsystemClassId is "pipe" declared in "src/FDM/ExternalPipe/ExternalPipe.hxx", implemented in "src/FDM/ExternalPipe/ExternalPipe.cxx"> | |||
<FGHIDEventInput : FGEventInput : SGSubsystem staticSubsystemClassId is "input-event-hid" declared in "src/Input/FGHIDEventInput.hxx", implemented in "src/Input/FGHIDEventInput.cxx"> | |||
<FGInterpolator : PropertyInterpolationMgr : SGSubsystem staticSubsystemClassId is "prop-interpolator" declared in "src/Main/FGInterpolator.hxx", implemented in "src/Main/FGInterpolator.cxx"> | |||
<FGJSBsim : FGInterface : SGSubsystem staticSubsystemClassId is "jsb" declared in "src/FDM/JSBSim/JSBSim.hxx", implemented in "src/FDM/JSBSim/JSBSim.cxx"> | |||
<FGLaRCsim : FGInterface : SGSubsystem staticSubsystemClassId is "larcsim" declared in "src/FDM/LaRCsim/LaRCsim.hxx", implemented in "src/FDM/LaRCsim/LaRCsim.cxx"> | |||
<FGLinuxEventInput : FGEventInput : SGSubsystem staticSubsystemClassId is "input-event" declared in "src/Input/FGLinuxEventInput.hxx", implemented in "src/Input/FGLinuxEventInput.cxx"> | |||
<FGMacOSXEventInput : FGEventInput : SGSubsystem staticSubsystemClassId is "input-event" declared in "src/Input/FGMacOSXEventInput.hxx", implemented in "src/Input/FGMacOSXEventInput.cxx"> | |||
<FGMagicCarpet : FGInterface : SGSubsystem staticSubsystemClassId is "magic" declared in "src/FDM/SP/MagicCarpet.hxx", implemented in "src/FDM/SP/MagicCarpet.cxx"> | |||
<FGMarkerBeacon : AbstractInstrument : SGSubsystem staticSubsystemClassId is "marker-beacon" declared in "src/Instrumentation/marker_beacon.hxx", implemented in "src/Instrumentation/marker_beacon.cxx"> | |||
<FGNavRadio : AbstractInstrument : SGSubsystem staticSubsystemClassId is "old-navradio" declared in "src/Instrumentation/navradio.hxx", implemented in "src/Instrumentation/navradio.cxx"> | |||
<FGNullFDM : FGInterface : SGSubsystem staticSubsystemClassId is "null" declared in "src/FDM/NullFDM.hxx", implemented in "src/FDM/NullFDM.cxx"> | |||
<FGReadablePanel : FGPanel : SGSubsystem staticSubsystemClassId is "readable-panel" declared in "utils/fgpanel/panel_io.hxx", implemented in "utils/fgpanel/panel_io.cxx"> | |||
<FGSoundManager : SGSoundMgr : SGSubsystem staticSubsystemClassId is "sound" declared in "src/Sound/soundmanager.hxx", implemented in "src/Sound/soundmanager.cxx"> | |||
<FGUFO : FGInterface : SGSubsystem staticSubsystemClassId is "ufo" declared in "src/FDM/UFO.hxx", implemented in "src/FDM/UFO.cxx"> | |||
<LayerInterpolateControllerImplementation : LayerInterpolateController : SGSubsystem staticSubsystemClassId is "layer-interpolate-controller" declared in "src/Environment/environment_ctrl.cxx", implemented in "src/Environment/environment_ctrl.cxx"> | |||
<MongooseHttpd : FGHttpd : SGSubsystem staticSubsystemClassId is "mongoose-httpd" declared in "src/Network/http/httpd.cxx", implemented in "src/Network/http/httpd.cxx"> | |||
<StateMachineComponent : Component : SGSubsystem staticSubsystemClassId is "state-machine" declared in "src/Autopilot/autopilot.cxx"> | |||
<Transponder : AbstractInstrument : SGSubsystem staticSubsystemClassId is "transponder" declared in "src/Instrumentation/transponder.hxx", implemented in "src/Instrumentation/transponder.cxx"> | |||
<YASim : FGInterface : SGSubsystem staticSubsystemClassId is "yasim" declared in "src/FDM/YASim/YASim.hxx", implemented in "src/FDM/YASim/YASim.cxx"> | |||
<agRadar : wxRadarBg : SGSubsystem staticSubsystemClassId is "air-ground-radar" declared in "src/Cockpit/agradar.hxx", implemented in "src/Cockpit/agradar.cxx"> | |||
Secondary groups (2): | |||
<FGXMLAutopilotGroupImplementation : FGXMLAutopilotGroup : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "xml-autopilot-group" declared in "src/Autopilot/autopilotgroup.cxx", implemented in "src/Autopilot/autopilotgroup.cxx"> | |||
<TerrainSamplerImplementation : TerrainSampler : SGSubsystemGroup : SGSubsystem staticSubsystemClassId is "terrain-sampler" declared in "src/Environment/terrainsampler.cxx", implemented in "src/Environment/terrainsampler.cxx"> | |||
Tertiary subsystems (7): | |||
<CanvasMgr : CanvasMgr : PropertyBasedMgr : SGSubsystem staticSubsystemClassId is "Canvas" declared in "src/Canvas/canvas_mgr.hxx", implemented in "src/Canvas/canvas_mgr.cxx"> | |||
<DigitalFilter : AnalogComponent : Component : SGSubsystem staticSubsystemClassId is "filter" declared in "src/Autopilot/digitalfilter.hxx", implemented in "src/Autopilot/digitalfilter.cxx"> | |||
<Logic : DigitalComponent : Component : SGSubsystem staticSubsystemClassId is "logic" declared in "src/Autopilot/logic.hxx", implemented in "src/Autopilot/logic.cxx"> | |||
<NoaaMetarRealWxController : BasicRealWxController : RealWxController : SGSubsystem staticSubsystemClassId is "noaa-metar-real-wx-controller" declared in "src/Environment/realwx_ctrl.cxx", implemented in "src/Environment/realwx_ctrl.cxx"> | |||
<PIDController : AnalogComponent : Component : SGSubsystem staticSubsystemClassId is "pid-controller" declared in "src/Autopilot/pidcontroller.hxx", implemented in "src/Autopilot/pidcontroller.cxx"> | |||
<PISimpleController : AnalogComponent : Component : SGSubsystem staticSubsystemClassId is "pi-simple-controller" declared in "src/Autopilot/pisimplecontroller.hxx", implemented in "src/Autopilot/pisimplecontroller.cxx"> | |||
<Predictor : AnalogComponent : Component : SGSubsystem staticSubsystemClassId is "predict-simple" declared in "src/Autopilot/predictor.hxx", implemented in "src/Autopilot/predictor.cxx"> | |||
Quaternary subsystems (1): | |||
<FlipFlop : Logic : DigitalComponent : Component : SGSubsystem staticSubsystemClassId is "flipflop" declared in "src/Autopilot/flipflop.hxx", implemented in "src/Autopilot/flipflop.cxx"> | |||
Counts: 130 subsystem classes (118 flightgear, 12 simgear). | |||
Counts: 10 subsystem groups (9 flightgear, 1 simgear). | |||
Counts: 140 subsystem classes and groups (127 flightgear, 13 simgear). | |||
}} | |||
{{collapsible script | {{collapsible script | ||
Line 538: | Line 1,015: | ||
| lang = xml | | lang = xml | ||
| script = | | script = | ||
<?xml version="1.0"?> | |||
<subsystems> | <subsystems> | ||
<primary_subsystems count=" | <primary_subsystems count="90"> | ||
< | <AbstractInstrument> | ||
<AirportDynamicsManager | <inheritance>SGSubsystem</inheritance> | ||
<AirspeedIndicator | <declaration>src/Instrumentation/AbstractInstrument.hxx</declaration> | ||
<Altimeter | <implementation>src/Instrumentation/AbstractInstrument.cxx</implementation> | ||
< | </AbstractInstrument> | ||
< | <AirportDynamicsManager> | ||
<inheritance>SGSubsystem</inheritance> | |||
< | <staticSubsystemClassId>airport-dynamics</staticSubsystemClassId> | ||
< | <declaration>src/Airports/airportdynamicsmanager.hxx</declaration> | ||
< | <implementation>src/Airports/airportdynamicsmanager.cxx</implementation> | ||
< | </AirportDynamicsManager> | ||
< | <AirspeedIndicator> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>airspeed-indicator</staticSubsystemClassId> | ||
< | <declaration>src/Instrumentation/airspeed_indicator.hxx</declaration> | ||
< | <implementation>src/Instrumentation/airspeed_indicator.cxx</implementation> | ||
< | </AirspeedIndicator> | ||
< | <Altimeter> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>altimeter</staticSubsystemClassId> | ||
< | <declaration>src/Instrumentation/altimeter.hxx</declaration> | ||
<FGFlightHistory | <implementation>src/Instrumentation/altimeter.cxx</implementation> | ||
<FGHTTPClient | </Altimeter> | ||
<FGHttpd | <AnotherSub> | ||
<inheritance>SGSubsystem</inheritance> | |||
< | <staticSubsystemClassId>anothersub</staticSubsystemClassId> | ||
< | <declaration>simgear/structure/subsystem_test.cxx</declaration> | ||
</AnotherSub> | |||
< | <AreaSampler> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>area</staticSubsystemClassId> | ||
< | <declaration>src/Environment/terrainsampler.cxx</declaration> | ||
< | <implementation>src/Environment/terrainsampler.cxx</implementation> | ||
< | </AreaSampler> | ||
< | <AttitudeIndicator> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>attitude-indicator</staticSubsystemClassId> | ||
< | <declaration>src/Instrumentation/attitude_indicator.hxx</declaration> | ||
< | <implementation>src/Instrumentation/attitude_indicator.cxx</implementation> | ||
< | </AttitudeIndicator> | ||
< | <Clock> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
<staticSubsystemClassId>clock</staticSubsystemClassId> | |||
< | <declaration>src/Instrumentation/clock.hxx</declaration> | ||
< | <implementation>src/Instrumentation/clock.cxx</implementation> | ||
< | </Clock> | ||
<Component> | |||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <declaration>src/Autopilot/component.hxx</declaration> | ||
<implementation>src/Autopilot/component.cxx</implementation> | |||
< | </Component> | ||
< | <Ephemeris> | ||
<inheritance>SGSubsystem</inheritance> | |||
< | <staticSubsystemClassId>ephemeris</staticSubsystemClassId> | ||
< | <declaration>src/Environment/ephemeris.hxx</declaration> | ||
<implementation>src/Environment/ephemeris.cxx</implementation> | |||
< | </Ephemeris> | ||
<FDMShell> | |||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>flight</staticSubsystemClassId> | ||
< | <declaration>src/FDM/fdm_shell.hxx</declaration> | ||
< | <implementation>src/FDM/fdm_shell.cxx</implementation> | ||
< | </FDMShell> | ||
< | <FGAIManager> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>ai-model</staticSubsystemClassId> | ||
< | <declaration>src/AIModel/AIManager.hxx</declaration> | ||
< | <implementation>src/AIModel/AIManager.cxx</implementation> | ||
< | </FGAIManager> | ||
< | <FGATCManager> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
< | <staticSubsystemClassId>ATC</staticSubsystemClassId> | ||
< | <declaration>src/ATC/atc_mgr.hxx</declaration> | ||
<implementation>src/ATC/atc_mgr.cxx</implementation> | |||
< | </FGATCManager> | ||
< | <FGAircraftModel> | ||
< | <inheritance>SGSubsystem</inheritance> | ||
<staticSubsystemClassId>aircraft-model</staticSubsystemClassId> | |||
<declaration>src/Model/acmodel.hxx</declaration> | |||
< | <implementation>src/Model/acmodel.cxx</implementation> | ||
< | </FGAircraftModel> | ||
< | <FGCom> | ||
<inheritance>SGSubsystem</inheritance> | |||
< | <staticSubsystemClassId>fgcom</staticSubsystemClassId> | ||
< | <declaration>src/Network/fgcom.hxx</declaration> | ||
< | <implementation>src/Network/fgcom.cxx</implementation> | ||
< | </FGCom> | ||
< | <FGControls> | ||
<inheritance>SGSubsystem</inheritance> | |||
< | <staticSubsystemClassId>controls</staticSubsystemClassId> | ||
<declaration>src/Aircraft/controls.hxx</declaration> | |||
<implementation>src/Aircraft/controls.cxx</implementation> | |||
</FGControls> | |||
<FGDNSClient> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>dns</staticSubsystemClassId> | |||
<declaration>src/Network/DNSClient.hxx</declaration> | |||
<implementation>src/Network/DNSClient.cxx</implementation> | |||
</FGDNSClient> | |||
<FGElectricalSystem> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>electrical</staticSubsystemClassId> | |||
<declaration>src/Systems/electrical.hxx</declaration> | |||
<implementation>src/Systems/electrical.cxx</implementation> | |||
</FGElectricalSystem> | |||
<FGEventInput> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>src/Input/FGEventInput.hxx</declaration> | |||
<implementation>src/Input/FGEventInput.cxx</implementation> | |||
</FGEventInput> | |||
<FGFlightHistory> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>history</staticSubsystemClassId> | |||
<declaration>src/Aircraft/FlightHistory.hxx</declaration> | |||
<implementation>src/Aircraft/FlightHistory.cxx</implementation> | |||
</FGFlightHistory> | |||
<FGHTTPClient> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>http</staticSubsystemClassId> | |||
<declaration>src/Network/HTTPClient.hxx</declaration> | |||
<implementation>src/Network/HTTPClient.cxx</implementation> | |||
</FGHTTPClient> | |||
<FGHttpd> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>httpd</staticSubsystemClassId> | |||
<declaration>src/Network/http/httpd.hxx</declaration> | |||
</FGHttpd> | |||
<FGIO> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>io</staticSubsystemClassId> | |||
<declaration>src/Main/fg_io.hxx</declaration> | |||
<implementation>src/Main/fg_io.cxx</implementation> | |||
</FGIO> | |||
<FGInstrumentMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>instrumentation</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/instrument_mgr.hxx</declaration> | |||
<implementation>src/Instrumentation/instrument_mgr.cxx</implementation> | |||
</FGInstrumentMgr> | |||
<FGInterface> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>src/FDM/flight.hxx</declaration> | |||
<implementation>src/FDM/flight.cxx</implementation> | |||
</FGInterface> | |||
<FGJoystickInput> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-joystick</staticSubsystemClassId> | |||
<declaration>src/Input/FGJoystickInput.hxx</declaration> | |||
<implementation>src/Input/FGJoystickInput.cxx</implementation> | |||
</FGJoystickInput> | |||
<FGKR_87> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>KR-87</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/kr_87.hxx</declaration> | |||
<implementation>src/Instrumentation/kr_87.cxx</implementation> | |||
</FGKR_87> | |||
<FGKeyboardInput> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-keyboard</staticSubsystemClassId> | |||
<declaration>src/Input/FGKeyboardInput.hxx</declaration> | |||
<implementation>src/Input/FGKeyboardInput.cxx</implementation> | |||
</FGKeyboardInput> | |||
<FGLight> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>lighting</staticSubsystemClassId> | |||
<declaration>src/Time/light.hxx</declaration> | |||
<implementation>src/Time/light.cxx</implementation> | |||
</FGLight> | |||
<FGLogger> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>logger</staticSubsystemClassId> | |||
<declaration>src/Main/logger.hxx</declaration> | |||
<implementation>src/Main/logger.cxx</implementation> | |||
</FGLogger> | |||
<FGMagVarManager> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>magvar</staticSubsystemClassId> | |||
<declaration>src/Environment/magvarmanager.hxx</declaration> | |||
<implementation>src/Environment/magvarmanager.cxx</implementation> | |||
</FGMagVarManager> | |||
<FGModelMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>model-manager</staticSubsystemClassId> | |||
<declaration>src/Model/modelmgr.hxx</declaration> | |||
<implementation>src/Model/modelmgr.cxx</implementation> | |||
</FGModelMgr> | |||
<FGMouseInput> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-mouse</staticSubsystemClassId> | |||
<declaration>src/Input/FGMouseInput.hxx</declaration> | |||
<implementation>src/Input/FGMouseInput.cxx</implementation> | |||
</FGMouseInput> | |||
<FGMultiplayMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>mp</staticSubsystemClassId> | |||
<declaration>src/MultiPlayer/multiplaymgr.hxx</declaration> | |||
<implementation>src/MultiPlayer/multiplaymgr.cxx</implementation> | |||
</FGMultiplayMgr> | |||
<FGNasalSys> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>nasal</staticSubsystemClassId> | |||
<declaration>src/Scripting/NasalSys.hxx</declaration> | |||
<implementation>src/Scripting/NasalSys.cxx</implementation> | |||
</FGNasalSys> | |||
<FGPanel> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>panel</staticSubsystemClassId> | |||
<declaration>utils/fgpanel/FGPanel.hxx</declaration> | |||
<implementation>utils/fgpanel/FGPanel.cxx</implementation> | |||
</FGPanel> | |||
<FGPanelProtocol> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>panel-protocol</staticSubsystemClassId> | |||
<declaration>utils/fgpanel/FGPanelProtocol.hxx</declaration> | |||
<implementation>utils/fgpanel/FGPanelProtocol.cxx</implementation> | |||
</FGPanelProtocol> | |||
<FGPrecipitationMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>precipitation</staticSubsystemClassId> | |||
<declaration>src/Environment/precipitation_mgr.hxx</declaration> | |||
<implementation>src/Environment/precipitation_mgr.cxx</implementation> | |||
</FGPrecipitationMgr> | |||
<FGProperties> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>properties</staticSubsystemClassId> | |||
<declaration>src/Main/fg_props.hxx</declaration> | |||
<implementation>src/Main/fg_props.cxx</implementation> | |||
</FGProperties> | |||
<FGReplay> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>replay</staticSubsystemClassId> | |||
<declaration>src/Aircraft/replay.hxx</declaration> | |||
<implementation>src/Aircraft/replay.cxx</implementation> | |||
</FGReplay> | |||
<FGRidgeLift> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>ridgelift</staticSubsystemClassId> | |||
<declaration>src/Environment/ridge_lift.hxx</declaration> | |||
<implementation>src/Environment/ridge_lift.cxx</implementation> | |||
</FGRidgeLift> | |||
<FGRouteMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>route-manager</staticSubsystemClassId> | |||
<declaration>src/Autopilot/route_mgr.hxx</declaration> | |||
<implementation>src/Autopilot/route_mgr.cxx</implementation> | |||
</FGRouteMgr> | |||
<FGScenery> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>scenery</staticSubsystemClassId> | |||
<declaration>src/Scenery/scenery.hxx</declaration> | |||
<implementation>src/Scenery/scenery.cxx</implementation> | |||
</FGScenery> | |||
<FGSoundManager> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>sound</staticSubsystemClassId> | |||
<declaration>src/Sound/soundmanager.hxx</declaration> | |||
<implementation>src/Sound/soundmanager.cxx</implementation> | |||
</FGSoundManager> | |||
<FGSubmodelMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>submodel-mgr</staticSubsystemClassId> | |||
<declaration>src/AIModel/submodel.hxx</declaration> | |||
<implementation>src/AIModel/submodel.cxx</implementation> | |||
</FGSubmodelMgr> | |||
<FGSubsystemExample> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>docs-mini/README.introduction</declaration> | |||
</FGSubsystemExample> | |||
<FGTrafficManager> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>traffic-manager</staticSubsystemClassId> | |||
<declaration>src/Traffic/TrafficMgr.hxx</declaration> | |||
<implementation>src/Traffic/TrafficMgr.cxx</implementation> | |||
</FGTrafficManager> | |||
<FGViewMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>view-manager</staticSubsystemClassId> | |||
<declaration>src/Viewer/viewmgr.hxx</declaration> | |||
<implementation>src/Viewer/viewmgr.cxx</implementation> | |||
</FGViewMgr> | |||
<FGVoiceMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>voice</staticSubsystemClassId> | |||
<declaration>src/Sound/voice.hxx</declaration> | |||
<implementation>src/Sound/voice.cxx</implementation> | |||
</FGVoiceMgr> | |||
<FakeRadioSub> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>fake-radio</staticSubsystemClassId> | |||
<declaration>simgear/structure/subsystem_test.cxx</declaration> | |||
</FakeRadioSub> | |||
<GPS> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>gps</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/gps.hxx</declaration> | |||
<implementation>src/Instrumentation/gps.cxx</implementation> | |||
</GPS> | |||
<GSDI> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>gsdi</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/gsdi.hxx</declaration> | |||
<implementation>src/Instrumentation/gsdi.cxx</implementation> | |||
</GSDI> | |||
<GUIMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>CanvasGUI</staticSubsystemClassId> | |||
<declaration>src/Canvas/gui_mgr.hxx</declaration> | |||
<implementation>src/Canvas/gui_mgr.cxx</implementation> | |||
</GUIMgr> | |||
<GroundRadar> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>groundradar</staticSubsystemClassId> | |||
<declaration>src/Cockpit/groundradar.hxx</declaration> | |||
<implementation>src/Cockpit/groundradar.cxx</implementation> | |||
</GroundRadar> | |||
<HUD> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>hud</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/HUD/HUD.hxx</declaration> | |||
<implementation>src/Instrumentation/HUD/HUD.cxx</implementation> | |||
</HUD> | |||
<HeadingIndicator> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>heading-indicator</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/heading_indicator.hxx</declaration> | |||
<implementation>src/Instrumentation/heading_indicator.cxx</implementation> | |||
</HeadingIndicator> | |||
<HeadingIndicatorDG> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>heading-indicator-dg</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/heading_indicator_dg.hxx</declaration> | |||
<implementation>src/Instrumentation/heading_indicator_dg.cxx</implementation> | |||
</HeadingIndicatorDG> | |||
<HeadingIndicatorFG> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>heading-indicator-fg</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/heading_indicator_fg.hxx</declaration> | |||
<implementation>src/Instrumentation/heading_indicator_fg.cxx</implementation> | |||
</HeadingIndicatorFG> | |||
<InstVerticalSpeedIndicator> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>inst-vertical-speed-indicator</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/inst_vertical_speed_indicator.hxx</declaration> | |||
<implementation>src/Instrumentation/inst_vertical_speed_indicator.cxx</implementation> | |||
</InstVerticalSpeedIndicator> | |||
<LayerInterpolateController> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>src/Environment/environment_ctrl.hxx</declaration> | |||
</LayerInterpolateController> | |||
<MK_VIII> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>mk-viii</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/mk_viii.hxx</declaration> | |||
<implementation>src/Instrumentation/mk_viii.cxx</implementation> | |||
</MK_VIII> | |||
<MagCompass> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>magnetic-compass</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/mag_compass.hxx</declaration> | |||
<implementation>src/Instrumentation/mag_compass.cxx</implementation> | |||
</MagCompass> | |||
<MasterReferenceGyro> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>master-reference-gyro</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/mrg.hxx</declaration> | |||
<implementation>src/Instrumentation/mrg.cxx</implementation> | |||
</MasterReferenceGyro> | |||
<MySub1> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>mysub</staticSubsystemClassId> | |||
<declaration>simgear/structure/subsystem_test.cxx</declaration> | |||
</MySub1> | |||
<NavDisplay> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>navigation-display</staticSubsystemClassId> | |||
<declaration>src/Cockpit/NavDisplay.hxx</declaration> | |||
<implementation>src/Cockpit/NavDisplay.cxx</implementation> | |||
</NavDisplay> | |||
<NavRadio> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>nav-radio</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/newnavradio.hxx</declaration> | |||
<implementation>src/Instrumentation/newnavradio.cxx</implementation> | |||
</NavRadio> | |||
<NewGUI> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>gui</staticSubsystemClassId> | |||
<declaration>src/GUI/new_gui.hxx</declaration> | |||
<implementation>src/GUI/new_gui.cxx</implementation> | |||
</NewGUI> | |||
<PerformanceDB> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>aircraft-performance-db</staticSubsystemClassId> | |||
<declaration>src/AIModel/performancedb.hxx</declaration> | |||
<implementation>src/AIModel/performancedb.cxx</implementation> | |||
</PerformanceDB> | |||
<PitotSystem> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>pitot</staticSubsystemClassId> | |||
<declaration>src/Systems/pitot.hxx</declaration> | |||
<implementation>src/Systems/pitot.cxx</implementation> | |||
</PitotSystem> | |||
<PropertyBasedMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>simgear/props/PropertyBasedMgr.hxx</declaration> | |||
<implementation>simgear/props/PropertyBasedMgr.cxx</implementation> | |||
</PropertyBasedMgr> | |||
<PropertyInterpolationMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>simgear/props/PropertyInterpolationMgr.hxx</declaration> | |||
<implementation>simgear/props/PropertyInterpolationMgr.cxx</implementation> | |||
</PropertyInterpolationMgr> | |||
<RadarAltimeter> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>radar-altimeter</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/rad_alt.hxx</declaration> | |||
<implementation>src/Instrumentation/rad_alt.cxx</implementation> | |||
</RadarAltimeter> | |||
<RealWxController> | |||
<inheritance>SGSubsystem</inheritance> | |||
<declaration>src/Environment/realwx_ctrl.hxx</declaration> | |||
<implementation>src/Environment/realwx_ctrl.cxx</implementation> | |||
</RealWxController> | |||
<SGEventMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>events</staticSubsystemClassId> | |||
<declaration>simgear/structure/event_mgr.hxx</declaration> | |||
<implementation>simgear/structure/event_mgr.cxx</implementation> | |||
</SGEventMgr> | |||
<SGInterpolator> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>interpolator</staticSubsystemClassId> | |||
<declaration>simgear/misc/interpolator.hxx</declaration> | |||
<implementation>simgear/misc/interpolator.cxx</implementation> | |||
</SGInterpolator> | |||
<SGPerformanceMonitor> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>performance-mon</staticSubsystemClassId> | |||
<declaration>simgear/structure/SGPerfMon.hxx</declaration> | |||
<implementation>simgear/structure/SGPerfMon.cxx</implementation> | |||
</SGPerformanceMonitor> | |||
<SGSoundMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>sound</staticSubsystemClassId> | |||
<declaration>simgear/sound/soundmgr.hxx</declaration> | |||
</SGSoundMgr> | |||
<SGSubsystemMgr> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>subsystem-mgr</staticSubsystemClassId> | |||
<declaration>simgear/structure/subsystem_mgr.hxx</declaration> | |||
<implementation>simgear/structure/subsystem_mgr.cxx</implementation> | |||
</SGSubsystemMgr> | |||
<SGTerraSync> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>terrasync</staticSubsystemClassId> | |||
<declaration>simgear/scene/tsync/terrasync.hxx</declaration> | |||
<implementation>simgear/scene/tsync/terrasync.cxx</implementation> | |||
</SGTerraSync> | |||
<SlipSkidBall> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>slip-skid-ball</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/slip_skid_ball.hxx</declaration> | |||
<implementation>src/Instrumentation/slip_skid_ball.cxx</implementation> | |||
</SlipSkidBall> | |||
<StaticSystem> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>static</staticSubsystemClassId> | |||
<declaration>src/Systems/static.hxx</declaration> | |||
<implementation>src/Systems/static.cxx</implementation> | |||
</StaticSystem> | |||
<SwiftConnection> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>swift</staticSubsystemClassId> | |||
<declaration>src/Network/Swift/swift_connection.hxx</declaration> | |||
<implementation>src/Network/Swift/swift_connection.cxx</implementation> | |||
</SwiftConnection> | |||
<TACAN> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>tacan</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/tacan.hxx</declaration> | |||
<implementation>src/Instrumentation/tacan.cxx</implementation> | |||
</TACAN> | |||
<TCAS> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>tcas</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/tcas.hxx</declaration> | |||
<implementation>src/Instrumentation/tcas.cxx</implementation> | |||
</TCAS> | |||
<TimeManager> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>time</staticSubsystemClassId> | |||
<declaration>src/Time/TimeManager.hxx</declaration> | |||
<implementation>src/Time/TimeManager.cxx</implementation> | |||
</TimeManager> | |||
<TurnIndicator> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>turn-indicator</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/turn_indicator.hxx</declaration> | |||
<implementation>src/Instrumentation/turn_indicator.cxx</implementation> | |||
</TurnIndicator> | |||
<VacuumSystem> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>vacuum</staticSubsystemClassId> | |||
<declaration>src/Systems/vacuum.hxx</declaration> | |||
<implementation>src/Systems/vacuum.cxx</implementation> | |||
</VacuumSystem> | |||
<VerticalSpeedIndicator> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>vertical-speed-indicator</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/vertical_speed_indicator.hxx</declaration> | |||
<implementation>src/Instrumentation/vertical_speed_indicator.cxx</implementation> | |||
</VerticalSpeedIndicator> | |||
<View> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>view</staticSubsystemClassId> | |||
<declaration>src/Viewer/view.hxx</declaration> | |||
<implementation>src/Viewer/view.cxx</implementation> | |||
</View> | |||
<wxRadarBg> | |||
<inheritance>SGSubsystem</inheritance> | |||
<staticSubsystemClassId>radar</staticSubsystemClassId> | |||
<declaration>src/Cockpit/wxradar.hxx</declaration> | |||
<implementation>src/Cockpit/wxradar.cxx</implementation> | |||
</wxRadarBg> | |||
</primary_subsystems> | </primary_subsystems> | ||
<primary_groups count="8"> | <primary_groups count="8"> | ||
<Autopilot | <Autopilot> | ||
<CockpitDisplayManager | <inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | ||
<FGEnvironmentMgr | <staticSubsystemClassId>autopilot</staticSubsystemClassId> | ||
<FGInput | <declaration>src/Autopilot/autopilot.hxx</declaration> | ||
< | <implementation>src/Autopilot/autopilot.cxx</implementation> | ||
<FGSystemMgr | </Autopilot> | ||
<FGXMLAutopilotGroup | <CockpitDisplayManager> | ||
<TerrainSampler | <inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | ||
<staticSubsystemClassId>cockpit-displays</staticSubsystemClassId> | |||
<declaration>src/Cockpit/cockpitDisplayManager.hxx</declaration> | |||
<implementation>src/Cockpit/cockpitDisplayManager.cxx</implementation> | |||
</CockpitDisplayManager> | |||
<FGEnvironmentMgr> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>environment</staticSubsystemClassId> | |||
<declaration>src/Environment/environment_mgr.hxx</declaration> | |||
<implementation>src/Environment/environment_mgr.cxx</implementation> | |||
</FGEnvironmentMgr> | |||
<FGInput> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input</staticSubsystemClassId> | |||
<declaration>src/Input/input.hxx</declaration> | |||
<implementation>src/Input/input.cxx</implementation> | |||
</FGInput> | |||
<FGSystemMgr> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>systems</staticSubsystemClassId> | |||
<declaration>src/Systems/system_mgr.hxx</declaration> | |||
<implementation>src/Systems/system_mgr.cxx</implementation> | |||
</FGSystemMgr> | |||
<FGXMLAutopilotGroup> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>xml-rules</staticSubsystemClassId> | |||
<declaration>src/Autopilot/autopilotgroup.hxx</declaration> | |||
<implementation>src/Autopilot/autopilotgroup.cxx</implementation> | |||
</FGXMLAutopilotGroup> | |||
<InstrumentGroup> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>instruments</staticSubsystemClassId> | |||
<declaration>simgear/structure/subsystem_test.cxx</declaration> | |||
</InstrumentGroup> | |||
<TerrainSampler> | |||
<inheritance>SGSubsystemGroup : SGSubsystem</inheritance> | |||
<declaration>src/Environment/terrainsampler.hxx</declaration> | |||
</TerrainSampler> | |||
</primary_groups> | </primary_groups> | ||
<secondary_subsystems count=" | <secondary_subsystems count="32"> | ||
<AnalogComponent | <ADF> | ||
<BasicRealWxController | <inheritance>AbstractInstrument : SGSubsystem</inheritance> | ||
<CanvasMgr | <staticSubsystemClassId>adf</staticSubsystemClassId> | ||
< | <declaration>src/Instrumentation/adf.hxx</declaration> | ||
<DigitalComponent | <implementation>src/Instrumentation/adf.cxx</implementation> | ||
<FGACMS | </ADF> | ||
<FGADA | <AnalogComponent> | ||
<FGAISim | <inheritance>Component : SGSubsystem</inheritance> | ||
<FGBalloonSim | <declaration>src/Autopilot/analogcomponent.hxx</declaration> | ||
<FGExternalNet | <implementation>src/Autopilot/analogcomponent.cxx</implementation> | ||
<FGExternalPipe | </AnalogComponent> | ||
<FGHIDEventInput | <BasicRealWxController> | ||
<FGJSBsim | <inheritance>RealWxController : SGSubsystem</inheritance> | ||
<FGLaRCsim | <declaration>src/Environment/realwx_ctrl.cxx</declaration> | ||
<FGLinuxEventInput | <implementation>src/Environment/realwx_ctrl.cxx</implementation> | ||
<FGMacOSXEventInput | </BasicRealWxController> | ||
<FGMagicCarpet | <CanvasMgr> | ||
<FGNullFDM | <inheritance>PropertyBasedMgr : SGSubsystem</inheritance> | ||
<FGReadablePanel | <declaration>simgear/canvas/CanvasMgr.hxx</declaration> | ||
<FGSoundManager | <implementation>simgear/canvas/CanvasMgr.cxx</implementation> | ||
<FGUFO | </CanvasMgr> | ||
< | <CommRadio> | ||
<LayerInterpolateControllerImplementation | <inheritance>AbstractInstrument : SGSubsystem</inheritance> | ||
<MongooseHttpd | <staticSubsystemClassId>comm-radio</staticSubsystemClassId> | ||
< | <declaration>src/Instrumentation/commradio.hxx</declaration> | ||
<StateMachineComponent | <implementation>src/Instrumentation/commradio.cxx</implementation> | ||
<YASim | </CommRadio> | ||
<agRadar | <DME> | ||
<inheritance>AbstractInstrument : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>dme</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/dme.hxx</declaration> | |||
<implementation>src/Instrumentation/dme.cxx</implementation> | |||
</DME> | |||
<DigitalComponent> | |||
<inheritance>Component : SGSubsystem</inheritance> | |||
<declaration>src/Autopilot/digitalcomponent.hxx</declaration> | |||
<implementation>src/Autopilot/digitalcomponent.cxx</implementation> | |||
</DigitalComponent> | |||
<FGACMS> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>acms</staticSubsystemClassId> | |||
<declaration>src/FDM/SP/ACMS.hxx</declaration> | |||
<implementation>src/FDM/SP/ACMS.cxx</implementation> | |||
</FGACMS> | |||
<FGADA> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>ada</staticSubsystemClassId> | |||
<declaration>src/FDM/SP/ADA.hxx</declaration> | |||
<implementation>src/FDM/SP/ADA.cxx</implementation> | |||
</FGADA> | |||
<FGAISim> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>aisim</staticSubsystemClassId> | |||
<declaration>src/FDM/SP/AISim.hpp</declaration> | |||
<implementation>src/FDM/SP/AISim.cpp</implementation> | |||
</FGAISim> | |||
<FGBalloonSim> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>balloon</staticSubsystemClassId> | |||
<declaration>src/FDM/SP/Balloon.h</declaration> | |||
<implementation>src/FDM/SP/Balloon.cxx</implementation> | |||
</FGBalloonSim> | |||
<FGExternalNet> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>network</staticSubsystemClassId> | |||
<declaration>src/FDM/ExternalNet/ExternalNet.hxx</declaration> | |||
<implementation>src/FDM/ExternalNet/ExternalNet.cxx</implementation> | |||
</FGExternalNet> | |||
<FGExternalPipe> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>pipe</staticSubsystemClassId> | |||
<declaration>src/FDM/ExternalPipe/ExternalPipe.hxx</declaration> | |||
<implementation>src/FDM/ExternalPipe/ExternalPipe.cxx</implementation> | |||
</FGExternalPipe> | |||
<FGHIDEventInput> | |||
<inheritance>FGEventInput : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-event-hid</staticSubsystemClassId> | |||
<declaration>src/Input/FGHIDEventInput.hxx</declaration> | |||
<implementation>src/Input/FGHIDEventInput.cxx</implementation> | |||
</FGHIDEventInput> | |||
<FGInterpolator> | |||
<inheritance>PropertyInterpolationMgr : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>prop-interpolator</staticSubsystemClassId> | |||
<declaration>src/Main/FGInterpolator.hxx</declaration> | |||
<implementation>src/Main/FGInterpolator.cxx</implementation> | |||
</FGInterpolator> | |||
<FGJSBsim> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>jsb</staticSubsystemClassId> | |||
<declaration>src/FDM/JSBSim/JSBSim.hxx</declaration> | |||
<implementation>src/FDM/JSBSim/JSBSim.cxx</implementation> | |||
</FGJSBsim> | |||
<FGLaRCsim> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>larcsim</staticSubsystemClassId> | |||
<declaration>src/FDM/LaRCsim/LaRCsim.hxx</declaration> | |||
<implementation>src/FDM/LaRCsim/LaRCsim.cxx</implementation> | |||
</FGLaRCsim> | |||
<FGLinuxEventInput> | |||
<inheritance>FGEventInput : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-event</staticSubsystemClassId> | |||
<declaration>src/Input/FGLinuxEventInput.hxx</declaration> | |||
<implementation>src/Input/FGLinuxEventInput.cxx</implementation> | |||
</FGLinuxEventInput> | |||
<FGMacOSXEventInput> | |||
<inheritance>FGEventInput : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>input-event</staticSubsystemClassId> | |||
<declaration>src/Input/FGMacOSXEventInput.hxx</declaration> | |||
<implementation>src/Input/FGMacOSXEventInput.cxx</implementation> | |||
</FGMacOSXEventInput> | |||
<FGMagicCarpet> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>magic</staticSubsystemClassId> | |||
<declaration>src/FDM/SP/MagicCarpet.hxx</declaration> | |||
<implementation>src/FDM/SP/MagicCarpet.cxx</implementation> | |||
</FGMagicCarpet> | |||
<FGMarkerBeacon> | |||
<inheritance>AbstractInstrument : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>marker-beacon</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/marker_beacon.hxx</declaration> | |||
<implementation>src/Instrumentation/marker_beacon.cxx</implementation> | |||
</FGMarkerBeacon> | |||
<FGNavRadio> | |||
<inheritance>AbstractInstrument : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>old-navradio</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/navradio.hxx</declaration> | |||
<implementation>src/Instrumentation/navradio.cxx</implementation> | |||
</FGNavRadio> | |||
<FGNullFDM> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>null</staticSubsystemClassId> | |||
<declaration>src/FDM/NullFDM.hxx</declaration> | |||
<implementation>src/FDM/NullFDM.cxx</implementation> | |||
</FGNullFDM> | |||
<FGReadablePanel> | |||
<inheritance>FGPanel : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>readable-panel</staticSubsystemClassId> | |||
<declaration>utils/fgpanel/panel_io.hxx</declaration> | |||
<implementation>utils/fgpanel/panel_io.cxx</implementation> | |||
</FGReadablePanel> | |||
<FGSoundManager> | |||
<inheritance>SGSoundMgr : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>sound</staticSubsystemClassId> | |||
<declaration>src/Sound/soundmanager.hxx</declaration> | |||
<implementation>src/Sound/soundmanager.cxx</implementation> | |||
</FGSoundManager> | |||
<FGUFO> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>ufo</staticSubsystemClassId> | |||
<declaration>src/FDM/UFO.hxx</declaration> | |||
<implementation>src/FDM/UFO.cxx</implementation> | |||
</FGUFO> | |||
<LayerInterpolateControllerImplementation> | |||
<inheritance>LayerInterpolateController : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>layer-interpolate-controller</staticSubsystemClassId> | |||
<declaration>src/Environment/environment_ctrl.cxx</declaration> | |||
<implementation>src/Environment/environment_ctrl.cxx</implementation> | |||
</LayerInterpolateControllerImplementation> | |||
<MongooseHttpd> | |||
<inheritance>FGHttpd : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>mongoose-httpd</staticSubsystemClassId> | |||
<declaration>src/Network/http/httpd.cxx</declaration> | |||
<implementation>src/Network/http/httpd.cxx</implementation> | |||
</MongooseHttpd> | |||
<StateMachineComponent> | |||
<inheritance>Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>state-machine</staticSubsystemClassId> | |||
<declaration>src/Autopilot/autopilot.cxx</declaration> | |||
</StateMachineComponent> | |||
<Transponder> | |||
<inheritance>AbstractInstrument : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>transponder</staticSubsystemClassId> | |||
<declaration>src/Instrumentation/transponder.hxx</declaration> | |||
<implementation>src/Instrumentation/transponder.cxx</implementation> | |||
</Transponder> | |||
<YASim> | |||
<inheritance>FGInterface : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>yasim</staticSubsystemClassId> | |||
<declaration>src/FDM/YASim/YASim.hxx</declaration> | |||
<implementation>src/FDM/YASim/YASim.cxx</implementation> | |||
</YASim> | |||
<agRadar> | |||
<inheritance>wxRadarBg : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>air-ground-radar</staticSubsystemClassId> | |||
<declaration>src/Cockpit/agradar.hxx</declaration> | |||
<implementation>src/Cockpit/agradar.cxx</implementation> | |||
</agRadar> | |||
</secondary_subsystems> | </secondary_subsystems> | ||
<secondary_groups count="2"> | <secondary_groups count="2"> | ||
<FGXMLAutopilotGroupImplementation | <FGXMLAutopilotGroupImplementation> | ||
<TerrainSamplerImplementation | <inheritance>FGXMLAutopilotGroup : SGSubsystemGroup : SGSubsystem</inheritance> | ||
<staticSubsystemClassId>xml-autopilot-group</staticSubsystemClassId> | |||
<declaration>src/Autopilot/autopilotgroup.cxx</declaration> | |||
<implementation>src/Autopilot/autopilotgroup.cxx</implementation> | |||
</FGXMLAutopilotGroupImplementation> | |||
<TerrainSamplerImplementation> | |||
<inheritance>TerrainSampler : SGSubsystemGroup : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>terrain-sampler</staticSubsystemClassId> | |||
<declaration>src/Environment/terrainsampler.cxx</declaration> | |||
<implementation>src/Environment/terrainsampler.cxx</implementation> | |||
</TerrainSamplerImplementation> | |||
</secondary_groups> | </secondary_groups> | ||
<tertiary_subsystems count=" | <tertiary_subsystems count="7"> | ||
<DigitalFilter | <CanvasMgr> | ||
<Logic | <inheritance>CanvasMgr : PropertyBasedMgr : SGSubsystem</inheritance> | ||
<NoaaMetarRealWxController | <staticSubsystemClassId>Canvas</staticSubsystemClassId> | ||
<PIDController | <declaration>src/Canvas/canvas_mgr.hxx</declaration> | ||
<PISimpleController | <implementation>src/Canvas/canvas_mgr.cxx</implementation> | ||
<Predictor | </CanvasMgr> | ||
<DigitalFilter> | |||
<inheritance>AnalogComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>filter</staticSubsystemClassId> | |||
<declaration>src/Autopilot/digitalfilter.hxx</declaration> | |||
<implementation>src/Autopilot/digitalfilter.cxx</implementation> | |||
</DigitalFilter> | |||
<Logic> | |||
<inheritance>DigitalComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>logic</staticSubsystemClassId> | |||
<declaration>src/Autopilot/logic.hxx</declaration> | |||
<implementation>src/Autopilot/logic.cxx</implementation> | |||
</Logic> | |||
<NoaaMetarRealWxController> | |||
<inheritance>BasicRealWxController : RealWxController : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>noaa-metar-real-wx-controller</staticSubsystemClassId> | |||
<declaration>src/Environment/realwx_ctrl.cxx</declaration> | |||
<implementation>src/Environment/realwx_ctrl.cxx</implementation> | |||
</NoaaMetarRealWxController> | |||
<PIDController> | |||
<inheritance>AnalogComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>pid-controller</staticSubsystemClassId> | |||
<declaration>src/Autopilot/pidcontroller.hxx</declaration> | |||
<implementation>src/Autopilot/pidcontroller.cxx</implementation> | |||
</PIDController> | |||
<PISimpleController> | |||
<inheritance>AnalogComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>pi-simple-controller</staticSubsystemClassId> | |||
<declaration>src/Autopilot/pisimplecontroller.hxx</declaration> | |||
<implementation>src/Autopilot/pisimplecontroller.cxx</implementation> | |||
</PISimpleController> | |||
<Predictor> | |||
<inheritance>AnalogComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>predict-simple</staticSubsystemClassId> | |||
<declaration>src/Autopilot/predictor.hxx</declaration> | |||
<implementation>src/Autopilot/predictor.cxx</implementation> | |||
</Predictor> | |||
</tertiary_subsystems> | </tertiary_subsystems> | ||
<quaternary_subsystems count="1"> | <quaternary_subsystems count="1"> | ||
<FlipFlop | <FlipFlop> | ||
<inheritance>Logic : DigitalComponent : Component : SGSubsystem</inheritance> | |||
<staticSubsystemClassId>flipflop</staticSubsystemClassId> | |||
<declaration>src/Autopilot/flipflop.hxx</declaration> | |||
<implementation>src/Autopilot/flipflop.cxx</implementation> | |||
</FlipFlop> | |||
</quaternary_subsystems> | </quaternary_subsystems> | ||
<counts> | <counts> | ||
<simgear> | <simgear> | ||
<subsystem_classes> | <subsystem_classes>12</subsystem_classes> | ||
<subsystem_groups> | <subsystem_groups>1</subsystem_groups> | ||
<total> | <total>13</total> | ||
</simgear> | </simgear> | ||
<flightgear> | <flightgear> | ||
<subsystem_classes> | <subsystem_classes>118</subsystem_classes> | ||
<subsystem_groups> | <subsystem_groups>9</subsystem_groups> | ||
<total>127</total> | <total>127</total> | ||
</flightgear> | </flightgear> | ||
<combined> | <combined> | ||
<subsystem_classes> | <subsystem_classes>130</subsystem_classes> | ||
<subsystem_groups>10</subsystem_groups> | <subsystem_groups>10</subsystem_groups> | ||
<total> | <total>140</total> | ||
</combined> | </combined> | ||
</counts> | </counts> | ||
Line 708: | Line 1,866: | ||
{{collapsible script | {{collapsible script | ||
| type = | | type = File listing output | ||
| title = | | title = The declaration and implementation files for all flightgear and simgear subsystems and subsystem groups. | ||
| intro = | | intro = File listing output from the Python script for finding all subsystems within the flightgear and simgear C++ code bases. The error output from the script was redirected and hence not shown below. | ||
| lang = | | lang = shell | ||
| script = | | script = | ||
$ ./find_subsystems.py -l 2> /dev/null {{!}} sort | |||
docs-mini/README.introduction | |||
simgear/canvas/CanvasMgr.cxx | |||
simgear/canvas/CanvasMgr.hxx | |||
simgear/misc/interpolator.cxx | |||
simgear/misc/interpolator.hxx | |||
simgear/props/PropertyBasedMgr.cxx | |||
simgear/props/PropertyBasedMgr.hxx | |||
simgear/props/PropertyInterpolationMgr.cxx | |||
simgear/props/PropertyInterpolationMgr.hxx | |||
simgear/scene/tsync/terrasync.cxx | |||
simgear/scene/tsync/terrasync.hxx | |||
simgear/sound/soundmgr.hxx | |||
simgear/structure/event_mgr.cxx | |||
simgear/structure/event_mgr.hxx | |||
simgear/structure/SGPerfMon.cxx | |||
simgear/structure/SGPerfMon.hxx | |||
simgear/structure/subsystem_mgr.cxx | |||
simgear/structure/subsystem_mgr.hxx | |||
simgear/structure/subsystem_test.cxx | |||
simgear/structure/subsystem_test.cxx | |||
simgear/structure/subsystem_test.cxx | |||
simgear/structure/subsystem_test.cxx | |||
src/AIModel/AIManager.cxx | |||
src/AIModel/AIManager.hxx | |||
src/AIModel/performancedb.cxx | |||
src/AIModel/performancedb.hxx | |||
src/AIModel/submodel.cxx | |||
src/AIModel/submodel.hxx | |||
src/Aircraft/controls.cxx | |||
src/Aircraft/controls.hxx | |||
src/Aircraft/FlightHistory.cxx | |||
src/Aircraft/FlightHistory.hxx | |||
src/Aircraft/replay.cxx | |||
src/Aircraft/replay.hxx | |||
src/Airports/airportdynamicsmanager.cxx | |||
src/Airports/airportdynamicsmanager.hxx | |||
src/ATC/atc_mgr.cxx | |||
src/ATC/atc_mgr.hxx | |||
src/Autopilot/analogcomponent.cxx | |||
src/Autopilot/analogcomponent.hxx | |||
src/Autopilot/autopilot.cxx | |||
src/Autopilot/autopilot.cxx | |||
src/Autopilot/autopilotgroup.cxx | |||
src/Autopilot/autopilotgroup.cxx | |||
src/Autopilot/autopilotgroup.cxx | |||
src/Autopilot/autopilotgroup.hxx | |||
src/Autopilot/autopilot.hxx | |||
src/Autopilot/component.cxx | |||
src/Autopilot/component.hxx | |||
src/Autopilot/digitalcomponent.cxx | |||
src/Autopilot/digitalcomponent.hxx | |||
src/Autopilot/digitalfilter.cxx | |||
src/Autopilot/digitalfilter.hxx | |||
src/Autopilot/flipflop.cxx | |||
src/Autopilot/flipflop.hxx | |||
src/Autopilot/logic.cxx | |||
src/Autopilot/logic.hxx | |||
src/Autopilot/pidcontroller.cxx | |||
src/Autopilot/pidcontroller.hxx | |||
src/Autopilot/pisimplecontroller.cxx | |||
src/Autopilot/pisimplecontroller.hxx | |||
src/Autopilot/predictor.cxx | |||
src/Autopilot/predictor.hxx | |||
src/Autopilot/route_mgr.cxx | |||
src/Autopilot/route_mgr.hxx | |||
src/Canvas/canvas_mgr.cxx | |||
src/Canvas/canvas_mgr.hxx | |||
src/Canvas/gui_mgr.cxx | |||
src/Canvas/gui_mgr.hxx | |||
src/Cockpit/agradar.cxx | |||
src/Cockpit/agradar.hxx | |||
src/Cockpit/cockpitDisplayManager.cxx | |||
src/Cockpit/cockpitDisplayManager.hxx | |||
src/Cockpit/groundradar.cxx | |||
src/Cockpit/groundradar.hxx | |||
src/Cockpit/NavDisplay.cxx | |||
src/Cockpit/NavDisplay.hxx | |||
src/Cockpit/wxradar.cxx | |||
src/Cockpit/wxradar.hxx | |||
src/Environment/environment_ctrl.cxx | |||
src/Environment/environment_ctrl.cxx | |||
src/Environment/environment_ctrl.hxx | |||
src/Environment/environment_mgr.cxx | |||
src/Environment/environment_mgr.hxx | |||
src/Environment/ephemeris.cxx | |||
src/Environment/ephemeris.hxx | |||
src/Environment/magvarmanager.cxx | |||
src/Environment/magvarmanager.hxx | |||
src/Environment/precipitation_mgr.cxx | |||
src/Environment/precipitation_mgr.hxx | |||
src/Environment/realwx_ctrl.cxx | |||
src/Environment/realwx_ctrl.cxx | |||
src/Environment/realwx_ctrl.cxx | |||
src/Environment/realwx_ctrl.cxx | |||
src/Environment/realwx_ctrl.cxx | |||
src/Environment/realwx_ctrl.hxx | |||
src/Environment/ridge_lift.cxx | |||
src/Environment/ridge_lift.hxx | |||
src/Environment/terrainsampler.cxx | |||
src/Environment/terrainsampler.cxx | |||
src/Environment/terrainsampler.cxx | |||
src/Environment/terrainsampler.cxx | |||
src/Environment/terrainsampler.hxx | |||
src/FDM/ExternalNet/ExternalNet.cxx | |||
src/FDM/ExternalNet/ExternalNet.hxx | |||
src/FDM/ExternalPipe/ExternalPipe.cxx | |||
src/FDM/ExternalPipe/ExternalPipe.hxx | |||
src/FDM/fdm_shell.cxx | |||
src/FDM/fdm_shell.hxx | |||
src/FDM/flight.cxx | |||
src/FDM/flight.hxx | |||
src/FDM/JSBSim/JSBSim.cxx | |||
src/FDM/JSBSim/JSBSim.hxx | |||
src/FDM/LaRCsim/LaRCsim.cxx | |||
src/FDM/LaRCsim/LaRCsim.hxx | |||
src/FDM/NullFDM.cxx | |||
src/FDM/NullFDM.hxx | |||
src/FDM/SP/ACMS.cxx | |||
src/FDM/SP/ACMS.hxx | |||
src/FDM/SP/ADA.cxx | |||
src/FDM/SP/ADA.hxx | |||
src/FDM/SP/AISim.cpp | |||
src/FDM/SP/AISim.hpp | |||
src/FDM/SP/Balloon.cxx | |||
src/FDM/SP/Balloon.h | |||
src/FDM/SP/MagicCarpet.cxx | |||
src/FDM/SP/MagicCarpet.hxx | |||
src/FDM/UFO.cxx | |||
src/FDM/UFO.hxx | |||
src/FDM/YASim/YASim.cxx | |||
src/FDM/YASim/YASim.hxx | |||
src/GUI/new_gui.cxx | |||
src/GUI/new_gui.hxx | |||
src/Input/FGEventInput.cxx | |||
src/Input/FGEventInput.hxx | |||
src/Input/FGHIDEventInput.cxx | |||
src/Input/FGHIDEventInput.hxx | |||
src/Input/FGJoystickInput.cxx | |||
src/Input/FGJoystickInput.hxx | |||
src/Input/FGKeyboardInput.cxx | |||
src/Input/FGKeyboardInput.hxx | |||
src/Input/FGLinuxEventInput.cxx | |||
src/Input/FGLinuxEventInput.hxx | |||
src/Input/FGMacOSXEventInput.cxx | |||
src/Input/FGMacOSXEventInput.hxx | |||
src/Input/FGMouseInput.cxx | |||
src/Input/FGMouseInput.hxx | |||
src/Input/input.cxx | |||
src/Input/input.hxx | |||
src/Instrumentation/AbstractInstrument.cxx | |||
src/Instrumentation/AbstractInstrument.hxx | |||
src/Instrumentation/adf.cxx | |||
src/Instrumentation/adf.hxx | |||
src/Instrumentation/airspeed_indicator.cxx | |||
src/Instrumentation/airspeed_indicator.hxx | |||
src/Instrumentation/altimeter.cxx | |||
src/Instrumentation/altimeter.hxx | |||
src/Instrumentation/attitude_indicator.cxx | |||
src/Instrumentation/attitude_indicator.hxx | |||
src/Instrumentation/clock.cxx | |||
src/Instrumentation/clock.hxx | |||
src/Instrumentation/commradio.cxx | |||
src/Instrumentation/commradio.hxx | |||
src/Instrumentation/dme.cxx | |||
src/Instrumentation/dme.hxx | |||
src/Instrumentation/gps.cxx | |||
src/Instrumentation/gps.hxx | |||
src/Instrumentation/gsdi.cxx | |||
src/Instrumentation/gsdi.hxx | |||
src/Instrumentation/heading_indicator.cxx | |||
src/Instrumentation/heading_indicator_dg.cxx | |||
src/Instrumentation/heading_indicator_dg.hxx | |||
src/Instrumentation/heading_indicator_fg.cxx | |||
src/Instrumentation/heading_indicator_fg.hxx | |||
src/Instrumentation/heading_indicator.hxx | |||
src/Instrumentation/HUD/HUD.cxx | |||
src/Instrumentation/HUD/HUD.hxx | |||
src/Instrumentation/instrument_mgr.cxx | |||
src/Instrumentation/instrument_mgr.hxx | |||
src/Instrumentation/inst_vertical_speed_indicator.cxx | |||
src/Instrumentation/inst_vertical_speed_indicator.hxx | |||
src/Instrumentation/kr_87.cxx | |||
src/Instrumentation/kr_87.hxx | |||
src/Instrumentation/mag_compass.cxx | |||
src/Instrumentation/mag_compass.hxx | |||
src/Instrumentation/marker_beacon.cxx | |||
src/Instrumentation/marker_beacon.hxx | |||
src/Instrumentation/mk_viii.cxx | |||
src/Instrumentation/mk_viii.hxx | |||
src/Instrumentation/mrg.cxx | |||
src/Instrumentation/mrg.hxx | |||
src/Instrumentation/navradio.cxx | |||
src/Instrumentation/navradio.hxx | |||
src/Instrumentation/newnavradio.cxx | |||
src/Instrumentation/newnavradio.hxx | |||
src/Instrumentation/rad_alt.cxx | |||
src/Instrumentation/rad_alt.hxx | |||
src/Instrumentation/slip_skid_ball.cxx | |||
src/Instrumentation/slip_skid_ball.hxx | |||
src/Instrumentation/tacan.cxx | |||
src/Instrumentation/tacan.hxx | |||
src/Instrumentation/tcas.cxx | |||
src/Instrumentation/tcas.hxx | |||
src/Instrumentation/transponder.cxx | |||
src/Instrumentation/transponder.hxx | |||
src/Instrumentation/turn_indicator.cxx | |||
src/Instrumentation/turn_indicator.hxx | |||
src/Instrumentation/vertical_speed_indicator.cxx | |||
src/Instrumentation/vertical_speed_indicator.hxx | |||
src/Main/FGInterpolator.cxx | |||
src/Main/FGInterpolator.hxx | |||
src/Main/fg_io.cxx | |||
src/Main/fg_io.hxx | |||
src/Main/fg_props.cxx | |||
src/Main/fg_props.hxx | |||
src/Main/logger.cxx | |||
src/Main/logger.hxx | |||
src/Model/acmodel.cxx | |||
src/Model/acmodel.hxx | |||
src/Model/modelmgr.cxx | |||
src/Model/modelmgr.hxx | |||
src/MultiPlayer/multiplaymgr.cxx | |||
src/MultiPlayer/multiplaymgr.hxx | |||
src/Network/DNSClient.cxx | |||
src/Network/DNSClient.hxx | |||
src/Network/fgcom.cxx | |||
src/Network/fgcom.hxx | |||
src/Network/HTTPClient.cxx | |||
src/Network/HTTPClient.hxx | |||
src/Network/http/httpd.cxx | |||
src/Network/http/httpd.cxx | |||
src/Network/http/httpd.hxx | |||
src/Network/Swift/swift_connection.cxx | |||
src/Network/Swift/swift_connection.hxx | |||
src/Scenery/scenery.cxx | |||
src/Scenery/scenery.hxx | |||
src/Scripting/NasalSys.cxx | |||
src/Scripting/NasalSys.hxx | |||
src/Sound/soundmanager.cxx | |||
src/Sound/soundmanager.cxx | |||
src/Sound/soundmanager.hxx | |||
src/Sound/soundmanager.hxx | |||
src/Sound/voice.cxx | |||
src/Sound/voice.hxx | |||
src/Systems/electrical.cxx | |||
src/Systems/electrical.hxx | |||
src/Systems/pitot.cxx | |||
src/Systems/pitot.hxx | |||
src/Systems/static.cxx | |||
src/Systems/static.hxx | |||
src/Systems/system_mgr.cxx | |||
src/Systems/system_mgr.hxx | |||
src/Systems/vacuum.cxx | |||
src/Systems/vacuum.hxx | |||
src/Time/light.cxx | |||
src/Time/light.hxx | |||
src/Time/TimeManager.cxx | |||
src/Time/TimeManager.hxx | |||
src/Traffic/TrafficMgr.cxx | |||
src/Traffic/TrafficMgr.hxx | |||
src/Viewer/view.cxx | |||
src/Viewer/view.hxx | |||
src/Viewer/viewmgr.cxx | |||
src/Viewer/viewmgr.hxx | |||
utils/fgpanel/FGPanel.cxx | |||
utils/fgpanel/FGPanel.hxx | |||
utils/fgpanel/FGPanelProtocol.cxx | |||
utils/fgpanel/FGPanelProtocol.hxx | |||
utils/fgpanel/panel_io.cxx | |||
utils/fgpanel/panel_io.hxx | |||
}} | |||
{{collapsible script | |||
| type = Flightgear subsystem declaration file listing output | |||
| title = The declaration files for all flightgear subsystems (excluding simgear sources and excluding subsystem groups). | |||
| intro = Declaration file listing output from the Python script for finding all subsystems within the flightgear C++ code base. The error output from the script was redirected and hence not shown below. | |||
| lang = shell | |||
| script = | |||
$ ./find_subsystems.py -dfnp 2> /dev/null {{!}} sort | |||
/flightgear/src/flightgear-flightgear/docs-mini/README.introduction | |||
/flightgear/src/flightgear-flightgear/src/AIModel/AIManager.hxx | |||
/flightgear/src/flightgear-flightgear/src/AIModel/performancedb.hxx | |||
/flightgear/src/flightgear-flightgear/src/AIModel/submodel.hxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/controls.hxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/FlightHistory.hxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/replay.hxx | |||
/flightgear/src/flightgear-flightgear/src/Airports/airportdynamicsmanager.hxx | |||
/flightgear/src/flightgear-flightgear/src/ATC/atc_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/analogcomponent.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/autopilot.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/component.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/digitalcomponent.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/digitalfilter.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/flipflop.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/logic.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/pidcontroller.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/pisimplecontroller.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/predictor.hxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/route_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Canvas/canvas_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Canvas/gui_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/agradar.hxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/groundradar.hxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/NavDisplay.hxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/wxradar.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_ctrl.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/ephemeris.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/magvarmanager.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/precipitation_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/ridge_lift.hxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/terrainsampler.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/ExternalNet/ExternalNet.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/ExternalPipe/ExternalPipe.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/fdm_shell.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/flight.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/JSBSim/JSBSim.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/LaRCsim/LaRCsim.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/NullFDM.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/ACMS.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/ADA.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/AISim.hpp | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/Balloon.h | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/MagicCarpet.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/UFO.hxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/YASim/YASim.hxx | |||
/flightgear/src/flightgear-flightgear/src/GUI/new_gui.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGEventInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGHIDEventInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGJoystickInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGKeyboardInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGLinuxEventInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGMacOSXEventInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGMouseInput.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/AbstractInstrument.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/adf.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/airspeed_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/altimeter.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/attitude_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/clock.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/commradio.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/dme.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/gps.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/gsdi.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator_dg.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator_fg.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/HUD/HUD.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/instrument_mgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/inst_vertical_speed_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/kr_87.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mag_compass.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/marker_beacon.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mk_viii.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mrg.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/navradio.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/newnavradio.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/rad_alt.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/slip_skid_ball.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/tacan.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/tcas.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/transponder.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/turn_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/vertical_speed_indicator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Main/FGInterpolator.hxx | |||
/flightgear/src/flightgear-flightgear/src/Main/fg_io.hxx | |||
/flightgear/src/flightgear-flightgear/src/Main/fg_props.hxx | |||
/flightgear/src/flightgear-flightgear/src/Main/logger.hxx | |||
/flightgear/src/flightgear-flightgear/src/Model/acmodel.hxx | |||
/flightgear/src/flightgear-flightgear/src/Model/modelmgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/MultiPlayer/multiplaymgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Network/DNSClient.hxx | |||
/flightgear/src/flightgear-flightgear/src/Network/fgcom.hxx | |||
/flightgear/src/flightgear-flightgear/src/Network/HTTPClient.hxx | |||
/flightgear/src/flightgear-flightgear/src/Network/http/httpd.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/http/httpd.hxx | |||
/flightgear/src/flightgear-flightgear/src/Network/Swift/swift_connection.hxx | |||
/flightgear/src/flightgear-flightgear/src/Scenery/scenery.hxx | |||
/flightgear/src/flightgear-flightgear/src/Scripting/NasalSys.hxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/soundmanager.hxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/soundmanager.hxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/voice.hxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/electrical.hxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/pitot.hxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/static.hxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/vacuum.hxx | |||
/flightgear/src/flightgear-flightgear/src/Time/light.hxx | |||
/flightgear/src/flightgear-flightgear/src/Time/TimeManager.hxx | |||
/flightgear/src/flightgear-flightgear/src/Traffic/TrafficMgr.hxx | |||
/flightgear/src/flightgear-flightgear/src/Viewer/view.hxx | |||
/flightgear/src/flightgear-flightgear/src/Viewer/viewmgr.hxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/FGPanel.hxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/FGPanelProtocol.hxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/panel_io.hxx | |||
}} | |||
{{collapsible script | |||
| type = Flightgear subsystem implementation file listing output | |||
| title = The implementation files for all flightgear subsystems (excluding simgear sources and excluding subsystem groups). | |||
| intro = Implementation file listing output from the Python script for finding all subsystems within the flightgear C++ code base. The error output from the script was redirected and hence not shown below. | |||
| lang = cpp | |||
| script = | |||
$ ./find_subsystems.py -ifnp 2> /dev/null {{!}} sort | |||
/flightgear/src/flightgear-flightgear/src/AIModel/AIManager.cxx | |||
/flightgear/src/flightgear-flightgear/src/AIModel/performancedb.cxx | |||
/flightgear/src/flightgear-flightgear/src/AIModel/submodel.cxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/controls.cxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/FlightHistory.cxx | |||
/flightgear/src/flightgear-flightgear/src/Aircraft/replay.cxx | |||
/flightgear/src/flightgear-flightgear/src/Airports/airportdynamicsmanager.cxx | |||
/flightgear/src/flightgear-flightgear/src/ATC/atc_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/analogcomponent.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/component.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/digitalcomponent.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/digitalfilter.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/flipflop.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/logic.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/pidcontroller.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/pisimplecontroller.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/predictor.cxx | |||
/flightgear/src/flightgear-flightgear/src/Autopilot/route_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Canvas/canvas_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Canvas/gui_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/agradar.cxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/groundradar.cxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/NavDisplay.cxx | |||
/flightgear/src/flightgear-flightgear/src/Cockpit/wxradar.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/ephemeris.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/magvarmanager.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/precipitation_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/realwx_ctrl.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/ridge_lift.cxx | |||
/flightgear/src/flightgear-flightgear/src/Environment/terrainsampler.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/ExternalNet/ExternalNet.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/ExternalPipe/ExternalPipe.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/fdm_shell.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/flight.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/JSBSim/JSBSim.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/LaRCsim/LaRCsim.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/NullFDM.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/ACMS.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/ADA.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/AISim.cpp | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/Balloon.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/SP/MagicCarpet.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/UFO.cxx | |||
/flightgear/src/flightgear-flightgear/src/FDM/YASim/YASim.cxx | |||
/flightgear/src/flightgear-flightgear/src/GUI/new_gui.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGEventInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGHIDEventInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGJoystickInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGKeyboardInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGLinuxEventInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGMacOSXEventInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Input/FGMouseInput.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/AbstractInstrument.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/adf.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/airspeed_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/altimeter.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/attitude_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/clock.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/commradio.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/dme.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/gps.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/gsdi.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator_dg.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/heading_indicator_fg.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/HUD/HUD.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/instrument_mgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/inst_vertical_speed_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/kr_87.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mag_compass.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/marker_beacon.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mk_viii.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/mrg.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/navradio.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/newnavradio.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/rad_alt.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/slip_skid_ball.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/tacan.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/tcas.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/transponder.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/turn_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Instrumentation/vertical_speed_indicator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Main/FGInterpolator.cxx | |||
/flightgear/src/flightgear-flightgear/src/Main/fg_io.cxx | |||
/flightgear/src/flightgear-flightgear/src/Main/fg_props.cxx | |||
/flightgear/src/flightgear-flightgear/src/Main/logger.cxx | |||
/flightgear/src/flightgear-flightgear/src/Model/acmodel.cxx | |||
/flightgear/src/flightgear-flightgear/src/Model/modelmgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/MultiPlayer/multiplaymgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/DNSClient.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/fgcom.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/HTTPClient.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/http/httpd.cxx | |||
/flightgear/src/flightgear-flightgear/src/Network/Swift/swift_connection.cxx | |||
/flightgear/src/flightgear-flightgear/src/Scenery/scenery.cxx | |||
/flightgear/src/flightgear-flightgear/src/Scripting/NasalSys.cxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/soundmanager.cxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/soundmanager.cxx | |||
/flightgear/src/flightgear-flightgear/src/Sound/voice.cxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/electrical.cxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/pitot.cxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/static.cxx | |||
/flightgear/src/flightgear-flightgear/src/Systems/vacuum.cxx | |||
/flightgear/src/flightgear-flightgear/src/Time/light.cxx | |||
/flightgear/src/flightgear-flightgear/src/Time/TimeManager.cxx | |||
/flightgear/src/flightgear-flightgear/src/Traffic/TrafficMgr.cxx | |||
/flightgear/src/flightgear-flightgear/src/Viewer/view.cxx | |||
/flightgear/src/flightgear-flightgear/src/Viewer/viewmgr.cxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/FGPanel.cxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/FGPanelProtocol.cxx | |||
/flightgear/src/flightgear-flightgear/utils/fgpanel/panel_io.cxx | |||
}} | |||
{{collapsible script | |||
| type = Grep output | |||
| title = Searching for SGSky dependencies for all subsystems. | |||
| intro = This is an example to show how to use the file listing outputs of the script to hunt down subsystem dependencies. | |||
| lang = shell | |||
| script = | |||
$ ./find_subsystems.py -lp {{!}} sort {{!}} xargs grep SGSky | |||
Finding all primary classes in: /flightgear/src/flightgear-simgear | |||
Finding all primary groups in: /flightgear/src/flightgear-simgear | |||
Finding all secondary classes in: /flightgear/src/flightgear-simgear | |||
Finding all secondary groups in: /flightgear/src/flightgear-simgear | |||
Finding all tertiary classes in: /flightgear/src/flightgear-simgear | |||
Finding all tertiary groups in: /flightgear/src/flightgear-simgear | |||
Finding all quaternary classes in: /flightgear/src/flightgear-simgear | |||
Finding all quaternary groups in: /flightgear/src/flightgear-simgear | |||
Finding all primary classes in: /flightgear/src/flightgear-flightgear | |||
Finding all primary groups in: /flightgear/src/flightgear-flightgear | |||
Finding all secondary classes in: /flightgear/src/flightgear-flightgear | |||
Skipping: 'src/FDM/SP/AISim.hpp: : public FGInterface' | |||
Finding all secondary groups in: /flightgear/src/flightgear-flightgear | |||
Finding all tertiary classes in: /flightgear/src/flightgear-flightgear | |||
Finding all tertiary groups in: /flightgear/src/flightgear-flightgear | |||
Finding all quaternary classes in: /flightgear/src/flightgear-flightgear | |||
Finding all quaternary groups in: /flightgear/src/flightgear-flightgear | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_visibility ); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudDensity, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudDensity); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudVisRange, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudVisRange); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudImpostorDistance, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudImpostorDistance); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudLoD1Range, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudLoD1Range); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudLoD2Range, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudLoD2Range); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudWrap, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudWrap); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::get_3dCloudUseImpostors, | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.cxx: &SGSky::set_3dCloudUseImpostors); | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.hxx:class SGSky; | |||
/flightgear/src/flightgear-flightgear/src/Environment/environment_mgr.hxx: SGSky* _sky; | |||
/flightgear/src/flightgear-flightgear/src/Environment/precipitation_mgr.cxx: SGSky* thesky = globals->get_renderer()->getSky(); | |||
/flightgear/src/flightgear-flightgear/src/Environment/precipitation_mgr.cxx: {"SGSky", SGSubsystemMgr::Dependency::NONSUBSYSTEM_HARD}{{cbr}}); | |||
/flightgear/src/flightgear-flightgear/src/Scenery/scenery.cxx: {"SGSky", SGSubsystemMgr::Dependency::NONSUBSYSTEM_HARD}{{cbr}}); | |||
/flightgear/src/flightgear-flightgear/src/Time/light.cxx: SGSky* thesky = globals->get_renderer()->getSky(); | |||
/flightgear/src/flightgear-flightgear/src/Time/light.cxx: SGSky* thesky = globals->get_renderer()->getSky(); | |||
}} | |||
{{collapsible script | |||
| type = Grep output | |||
| title = Searching for all direct subsystem instantiations. | |||
| lang = c | |||
| script = | |||
$ ./find_subsystems.py --classes 2> /dev/null {{!}} xargs -I{} grep -nrI "new.*\<{}\>" src {{!}} sort -u | |||
src/Autopilot/autopilot.cxx:134: componentForge["pid-controller"] = new CreateAndConfigureFunctor<PIDController,Component>(); | |||
src/Autopilot/autopilot.cxx:135: componentForge["pi-simple-controller"] = new CreateAndConfigureFunctor<PISimpleController,Component>(); | |||
src/Autopilot/autopilot.cxx:136: componentForge["predict-simple"] = new CreateAndConfigureFunctor<Predictor,Component>(); | |||
src/Autopilot/autopilot.cxx:137: componentForge["filter"] = new CreateAndConfigureFunctor<DigitalFilter,Component>(); | |||
src/Autopilot/autopilot.cxx:138: componentForge["logic"] = new CreateAndConfigureFunctor<Logic,Component>(); | |||
src/Autopilot/autopilot.cxx:139: componentForge["flipflop"] = new CreateAndConfigureFunctor<FlipFlop,Component>(); | |||
src/Autopilot/autopilot.cxx:87: return new StateMachineComponent(cfg, prop_root); | |||
src/Autopilot/autopilotgroup.cxx:229: return new FGXMLAutopilotGroupImplementation(nodeName); | |||
src/Autopilot/autopilotgroup.cxx:82: Autopilot* ap = new Autopilot(apNode, config); | |||
src/Cockpit/cockpitDisplayManager.cxx:100: set_subsystem( id, new wxRadarBg ( node ) ); | |||
src/Cockpit/cockpitDisplayManager.cxx:103: set_subsystem( id, new GroundRadar( node ) ); | |||
src/Cockpit/cockpitDisplayManager.cxx:106: set_subsystem( id, new agRadar( node ) ); | |||
src/Cockpit/cockpitDisplayManager.cxx:109: set_subsystem( id, new NavDisplay( node ) ); | |||
src/Cockpit/panel_io.cxx:657: FGPanel * panel = new FGPanel(); | |||
src/Environment/environment_ctrl.cxx:349: return new LayerInterpolateControllerImplementation( rootNode ); | |||
src/Environment/environment_mgr.cxx:93: set_subsystem("precipitation", new FGPrecipitationMgr); | |||
src/Environment/environment_mgr.cxx:96: set_subsystem("ridgelift", new FGRidgeLift); | |||
src/Environment/environment_mgr.cxx:98: set_subsystem("magvar", new FGMagVarManager); | |||
src/Environment/realwx_ctrl.cxx:515: return new NoaaMetarRealWxController( rootNode ); | |||
src/Environment/terrainsampler.cxx:381: set_subsystem( areaSubsystemName(i), new AreaSampler( areaNodes[i] ) ); | |||
src/Environment/terrainsampler.cxx:430: return new TerrainSamplerImplementation( rootNode ); | |||
src/FDM/fdm_shell.cxx:278: _impl = new FGUFO( dt ); | |||
src/FDM/fdm_shell.cxx:282: _impl = new FGNullFDM( dt ); | |||
src/FDM/fdm_shell.cxx:315: _impl = new FGExternalNet( dt, host, port1, port2, port3 ); | |||
src/FDM/fdm_shell.cxx:318: // /* old */ _impl = new FGExternalPipe( dt, pipe_path ); | |||
src/FDM/fdm_shell.cxx:332: _impl = new FGExternalPipe( dt, pipe_path, pipe_protocol ); | |||
src/FDM/fdm_shell.cxx:334: _impl = new FGNullFDM( dt ); | |||
src/FDM/fdm_shell.cxx:338: _impl = new FGLaRCsim( dt ); | |||
src/FDM/fdm_shell.cxx:345: _impl = new FGJSBsim( dt ); | |||
src/FDM/fdm_shell.cxx:352: _impl = new FGADA( dt ); | |||
src/FDM/fdm_shell.cxx:354: _impl = new FGACMS( dt ); | |||
src/FDM/fdm_shell.cxx:356: _impl = new FGBalloonSim( dt ); | |||
src/FDM/fdm_shell.cxx:358: _impl = new FGMagicCarpet( dt ); | |||
src/FDM/fdm_shell.cxx:360:// _impl = new FGAISim( dt ); | |||
src/FDM/fdm_shell.cxx:370: _impl = new YASim( dt ); | |||
src/FDM/JSBSim/FGFDMExec.cpp:230: Models[eInput] = new FGInput(this); | |||
src/FDM/JSBSim/models/FGInput.cpp:79: // are not intended to create new properties. For that reason, FGInput | |||
src/FDM/YASim/Airplane.cpp:802: // For new YASim, the solver drag factor is only applied to | |||
src/Input/input.cxx:65: set_subsystem( FGMouseInput::staticSubsystemClassId(), new FGMouseInput() ); | |||
src/Input/input.cxx:71: set_subsystem( "input-keyboard", new FGKeyboardInput() ); | |||
src/Input/input.cxx:78: set_subsystem( "input-joystick", new FGJoystickInput() ); | |||
src/Input/input.cxx:94: set_subsystem( "input-event-hid", new FGHIDEventInput() ); | |||
src/Main/fg_init.cxx:812: mgr->add("performance-mon", new SGPerformanceMonitor(mgr, fgGetNode("/sim/performance-monitor", true))); | |||
src/Main/globals.cxx:147: subsystem_mgr( new SGSubsystemMgr ), | |||
src/Main/globals.cxx:148: event_mgr( new SGEventMgr ), | |||
src/Network/http/httpd.cxx:642: return new MongooseHttpd(configNode); | |||
src/Systems/system_mgr.cxx:77: new FGElectricalSystem( node ) ); | |||
src/Systems/system_mgr.cxx:80: new PitotSystem( node ) ); | |||
src/Systems/system_mgr.cxx:83: new StaticSystem( node ) ); | |||
src/Systems/system_mgr.cxx:86: new VacuumSystem( node ) ); | |||
src/Viewer/view.cxx:170: v = new View ( FG_LOOKAT, from_model, from_model_index, | |||
src/Viewer/view.cxx:182: v = new View ( FG_LOOKFROM, from_model, from_model_index, | |||
}} | }} | ||
Line 896: | Line 2,532: | ||
# First find all subsystems. | # First find all subsystems. | ||
sub = FindSubsystems() | |||
# Generate a list of files to skip. | # Generate a list of files to skip. | ||
Line 910: | Line 2,546: | ||
blacklist.append(file_name) | blacklist.append(file_name) | ||
# Loop over all derived | # Loop over all derived class declarations. | ||
print("\nYet to be updated:") | print("\nYet to be updated:") | ||
for | for subsystem in sub.subsystems[0] + sub.subsystems[1] + sub.subsystems[2] + sub.subsystems[3] + sub.groups[0] + sub.groups[1] + sub.groups[2] + sub.groups[3]: | ||
if subsystem.declaration_file not in blacklist: | |||
print(" %s: %s" % (subsystem.declaration_file, subsystem)) | |||
Line 922: | Line 2,557: | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
ToUpdate() | ToUpdate() | ||
}} | |||
== Automated test suite test creation == | |||
This script was used to generate the instanced and non-instanced subsystem system tests: | |||
{{collapsible script | |||
| type = Python script | |||
| title = Python script for generating the code for the system tests | |||
| lang = python | |||
| script = | |||
#! /usr/bin/env python3 | |||
# Other module imports. | |||
from find_subsystems import FindSubsystems | |||
class TestSuite: | |||
"""Class for generating the code for the system tests.""" | |||
def __init__(self): | |||
"""Auto-generate the C++ code.""" | |||
# First find all subsystems. | |||
sub = FindSubsystems(output=False) | |||
# The test name and test code. | |||
name = [] | |||
code = [] | |||
# Loop over all derived class declarations. | |||
max_width = 0 | |||
for subsystem in sub.subsystems[0] + sub.subsystems[1] + sub.subsystems[2] + sub.subsystems[3] + sub.groups[0] + sub.groups[1] + sub.groups[2] + sub.groups[3]: | |||
# Skip non-instantiated base classes. | |||
if not subsystem.staticSubsystemClassId: | |||
continue | |||
# Add the test suite text. | |||
name.append("test%s" % (subsystem.name)) | |||
code.append("{ create(\"%s\"); }" % (subsystem.staticSubsystemClassId)) | |||
# Formatting. | |||
max_width = max(len(name[-1]), max_width) | |||
# Test setup printout. | |||
print("\n") | |||
print(" CPPUNIT_TEST_SUITE(NonInstancedSubsystemTests);") | |||
for i in range(len(name)): | |||
print(" CPPUNIT_TEST(%s);" % name[i]) | |||
print(" CPPUNIT_TEST_SUITE_END();") | |||
# Test declaration printout. | |||
print("\n") | |||
print(" // The subsystem tests.") | |||
for i in range(len(name)): | |||
print(" void %s();" % name[i]) | |||
# Test implementation printout. | |||
print("\n") | |||
format_str = "void NonInstancedSubsystemTests::%%-%is() %%-s" % max_width | |||
for i in range(len(name)): | |||
print(format_str % (name[i], code[i])) | |||
# Instantiate the class if run as a script. | |||
if __name__ == "__main__": | |||
TestSuite() | |||
}} | }} |
Revision as of 13:44, 1 July 2019
Tracking down subsystems
Script
The following script is for finding all FlightGear dependencies:
Python script: The find_subsystems.py script for finding all subsystems within the flightgear and simgear C++ code bases.
All subsystems
The result is:
Text output: A listing of all flightgear and simgear subsystems and subsystem groups.
XML output: A listing of all flightgear and simgear subsystems and subsystem groups.
File listing output: The declaration and implementation files for all flightgear and simgear subsystems and subsystem groups.
Flightgear subsystem declaration file listing output: The declaration files for all flightgear subsystems (excluding simgear sources and excluding subsystem groups).
Flightgear subsystem implementation file listing output: The implementation files for all flightgear subsystems (excluding simgear sources and excluding subsystem groups).
Grep output: Searching for SGSky dependencies for all subsystems.
Grep output: Searching for all direct subsystem instantiations.
Refactoring
To check that all subsystems on a branch have been updated or refactored:
Python script: Python script verifying if all subsystems have been updated.
Automated test suite test creation
This script was used to generate the instanced and non-instanced subsystem system tests:
Python script: Python script for generating the code for the system tests