/// <summary> /// Gets the configuration options for this plug-in. /// </summary> /// <param name="AttrBuilder">The helper classes used to build the options.</param> /// <returns>An instance of the object returned by AttrBuilder.NewScope() populated with options.</returns> public object GetConfig(AgAttrBuilder attrBuilder) { //If this is the first time, we need to create the options //which we will then cache for future use. if (m_options == null) { m_options = attrBuilder.NewScope(); //Expose a Quantity option, in meters, for MinimumAltitude attrBuilder.AddQuantityDispatchProperty2(m_options, "MinimumAltitude", "MinimumAltitude", "MinimumAltitude", "Distance", "Meters", "Meters", (int)AgEAttrAddFlags.eAddFlagNone); //Expose a Quantity option, in meters, for MaximumAltitude attrBuilder.AddQuantityDispatchProperty2(m_options, "MaximumAltitude", "MaximumAltitude", "MaximumAltitude", "Distance", "Meters", "Meters", (int)AgEAttrAddFlags.eAddFlagNone); } return(m_options); }
public object GetPluginConfig(AgAttrBuilder aab) { try { Debug.WriteLine("--> Entered", m_Name + ".GetPluginConfig()"); if (m_Scope == null) { m_Scope = aab.NewScope(); // ============================== // Model specific attributes // ============================== aab.AddQuantityDispatchProperty2(m_Scope, "SRPArea", "SRP Area", "SRPArea", "Area", "m^2", "m^2", (int)AgEAttrAddFlags.eAddFlagNone); aab.AddChoicesDispatchProperty(m_Scope, "RefFrame", "Reference Frame", "RefFrame", m_refFrameNames.ToArray()); //=========================== // General Plugin attributes //=========================== aab.AddStringDispatchProperty(m_Scope, "PluginName", "Human readable plugin name or alias", "Name", (int)AgEAttrAddFlags.eAddFlagNone); aab.AddBoolDispatchProperty(m_Scope, "PluginEnabled", "If the plugin is enabled or has experienced an error", "Enabled", (int)AgEAttrAddFlags.eAddFlagNone); aab.AddBoolDispatchProperty(m_Scope, "DebugMode", "Turn debug messages on or off", "DebugMode", (int)AgEAttrAddFlags.eAddFlagNone); //=========================== // Messaging related attributes //=========================== aab.AddIntDispatchProperty(m_Scope, "MessageInterval", "The interval at which to send messages during propagation in Debug mode", "MsgInterval", (int)AgEAttrAddFlags.eAddFlagNone); } string config; config = aab.ToString(this, m_Scope); Debug.WriteLine(m_Name + ".GetPluginConfig():"); Debug.WriteLine("============Attr Scope=============="); Debug.WriteLine(config); Debug.WriteLine("===================================="); } finally { Debug.WriteLine("<-- Exited", m_Name + ".GetPluginConfig()"); } return(m_Scope); }