<?xml version= "1.0" encoding= "utf-8" ?> 

<!-- WorldBase property symbol definition document
  
    see propbase.xml for an explanation of property symbol definition document schema
-->

<SymbolDef 
    name         = "WorldBase"
    id           = "{AE1B7598-3DE6-40d8-A8B8-ED52E281399F}"
    descr        = "SimProp XXX property, type and set definitions."
    chdr         = "propworldbase.h"
    version      = "1,0" >
    
    <SymbolInclude
        filename = "propbase.xml"
        id       = "{8042AB84-8003-4ff1-9D4A-6D0D057F00DE}"
        version  = "1,0" />
    
    <cpptext pass="1">
//-------------------------------------------------------------------------//       
//  propworldbase.h    
//
//  FlightSim WorldBase AceXML property and property set symbol definitions
//-------------------------------------------------------------------------//       
//

//  
//  Namespace
//
    </cpptext>

    <PropertyDefs 
        symbolprefix = "SPID_">

        <cpptext pass="2">
//  
//  Property Identifiers
//
        </cpptext>
    
        <PropertyDef
            name        = "Latitude"
            id          = "{C412FD47-ED8A-4653-8E47-1A3B685211FF}"
            type        = "TEXT"
            descr       = "example: N47* 25' 53.43">
        </PropertyDef>
        <PropertyDef
            name        = "Longitude"
            id          = "{80463D3F-3C0C-421a-B0D1-46E63ECFEC20}"
            type        = "TEXT"
            descr       = "example: W122* 18' 28.79">
        </PropertyDef>
        <PropertyDef
            name        = "Altitude"
            id          = "{B8AEE566-C782-4848-9F5C-9236A6C3A6A8}"
            type        = "TEXT"
            descr       = "Units are feet.  Does not discriminate between MSL or AGL">
        </PropertyDef>
        <PropertyDef
            name        = "Pitch"
            id          = "{887F1F2F-119F-43f9-8DA7-7E2B2054C3A8}"
            type        = "FLOAT"
            descr       = "Units are degrees">
        </PropertyDef>
        <PropertyDef
            name        = "Bank"
            id          = "{16D005DF-60C0-4d65-99CA-D76670B1C97D}"
            type        = "FLOAT"
            descr       = "Units are degrees">
        </PropertyDef>
        <PropertyDef
            name        = "Heading"
            id          = "{0401B432-6E5A-4433-875D-C0C28D84B937}"
            type        = "FLOAT"
            descr       = "Units are degrees">
        </PropertyDef>
        <PropertyDef
            name        = "InstanceId"
            id          = "{B382CA79-501C-471a-8827-FE80D194AEB8}"
            xml_io      = "attribute"
            type        = "GUID"
            descr       = "Instance guid used to connect objects to one another">
        </PropertyDef>      
        <PropertyDef
        	name		= "Level"
        	id 			= "{1E7E022C-2A59-47cf-94A8-0F6FE334951B}"
        	type		= "ULONG"
        	descr		= "Level of the Qmid">
        </PropertyDef>
        <PropertyDef
        	name		= "U"
        	id 			= "{63BF5BA0-334A-43bf-8DD6-EC735F478A0F}"
        	type		= "ULONG"
        	descr		= "U Coordinate of the Qmid">
        </PropertyDef>
        <PropertyDef
        	name		= "V"
        	id 			= "{2F3C89AA-CF0E-4c21-9819-E8BA4740E7DD}"
        	type		= "ULONG"
        	descr		= "V Coordinate of the Qmid">
        </PropertyDef>
        <PropertyDef
            name        = "WorldPosition"
            ID          = "{777C9565-1495-4210-BD96-5115519340EA}"
            type        = "LLA"
            descr       = "Position of object in 3 Space">
        </PropertyDef>
        <PropertyDef
            name        = "Orientation"
            ID          = "{FBEDC683-8576-4138-B70B-383231F6132A}"
            type        = "PBH"
            serialize   = "default"
            descr       = "Orientation of object in 3 Space">
        </PropertyDef>

        <PropertyDef
            name        = "AppVersionMajor"
            ID          = "{C13249E9-860E-4019-9CF6-79E32BF15DEE}"
            type        = "LONG"
            descr       = "Application Major Version number">
        </PropertyDef>
        <PropertyDef
            name        = "AppVersionMinor"
            ID          = "{1E96DAF4-E04B-4b91-9BE6-C3CD4446D5B8}"
            type        = "LONG"
            descr       = "Application Minor Version number">
        </PropertyDef>
        <PropertyDef
            name        = "AppVersionBuild"
            ID          = "{72368239-3B93-49db-91F9-76E9BAC77600}"
            type        = "LONG"
            descr       = "Application Build number">
        </PropertyDef>

//  
//  Scenery Object Property Identifiers
// 
//  TODO: These should be moved into their own namespace
//
        <PropertyDef
            name        = "Scale"
            ID          = "{0119970B-FC6F-4979-B416-8E664D97FC54}"
            type        = "FLOAT"   
            serialize   = "default"          
            default     = "1.0"
            descr       = "Scale of the object">
        </PropertyDef>    
        <PropertyDef
            name        = "AltitudeIsAGL"
            id          = "{FABDB20C-9936-4ece-874C-51921F3BBC08}"
            serialize   = "default" 
            type        = "BOOL"
            default     = "True"
            descr       = "True: Altitude is above ground level.  False: Altitude is mean sea level.">
        </PropertyDef>

        <PropertyDef
            name        = "Activated"
            id          = "{1A9CA1EC-F5AE-4b16-BB6B-D2B268AC5DE5}"
            default     = "True"
            type        = "BOOL"
            descr       = "False: Completely Disabled (no triggering, rendering, or simulating)">
        </PropertyDef>

// This prop is used by container and this is the
        <PropertyDef 
            name        = "MDLGuid" 
            id          = "{8588E41E-89CA-47f9-8210-F8561D93D17C}"          
            type        = "GUID">
        </PropertyDef>
   </PropertyDefs>

    <!-- 
        Element: SetDefs - Optional block of property set definitions
        
            symbolprefix:   optional prefix for C/C++ property identifier.
    -->

    <SetDefs symbolprefix = "SSID_">
        
        <cpptext pass="2">
//  
//  Property Set Identifiers
//
        </cpptext>

        <SetDef
            id          = "{2816D5DF-D194-4a72-90CF-509B30BFF1D1}"
            name        = "ObjectReference"
            policy      = "inclusive"
            descr       = "Reference to another object.  Id subproperty can be anything.  Instance id must be a Guid.">
            <property name = "id"/>
            <property name = "InstanceId"/>
        </SetDef>

        <SetDef
            id          = "{59925A30-AF68-4e17-9848-ACA1050E0394}"
            name        = "AppVersion"
            policy      = "inclusive"
            descr       = "Application Version (major.minor.build">
            <property name = "AppVersionMajor"/>
            <property name = "AppVersionMinor"/>
            <property name = "AppVersionBuild"/>
        </SetDef>

        <SetDef
            id          = "{77841D9C-2F74-402f-8D96-9E51834E2EEA}"
            name        = "ObjectReferenceList"
            policy      = "inclusive"
            descr       = "List of object references">
            <property name = "id"/>
            <property name = "ObjectReference"/>
        </SetDef>
        <SetDef
            id          = "{C7B86D42-8B6A-4bb1-BFD0-7F85830AEF00}"
            name        = "Objects"
            policy      = "unrestricted"
            descr       = "List of object placements">
        </SetDef>
        <SetDef
            id          = "{6536D9F5-FB4A-4a48-80F1-28852CAB85BC}"
            name        = "Flight"
            policy      = "unrestricted"
            descr       = "Top level bag of the flight file. TODO: Make this more restrictive">
        </SetDef>

        <SetDef
            id          = "{701B09CA-8B33-414d-8E7B-00E7F004171D}"
            name        = "Qmid"
            policy      = "inclusive"
            descr       = "QuadMeshId">
            <property name = "id"/>
            <property name = "Level"/>
            <property name = "U"/>
            <property name = "V"/>
        </SetDef>	
    </SetDefs>

</SymbolDef>
