<?xml version="1.0"?>
<doc>
  <assembly>
        "RevitAPIUI"
    </assembly>
  <members>
    <member name="T:ElementSelectMenuManager">
Manages the element select sub menu and inserts them as a popup to 
the context menu that specified (namely ArrowEditor and MFCTreeView).
</member>
    <member name="M:getEndUserElementsWithGivenType(ADocument*,ElementId,ElementId,DBView*,Arr&lt;ElementId&gt;*)">
  Return in pIdArr all elements that have typeId as their type (as defined by what shows up in the Type Selector).
  If optionId is valid, find only the elements in the specified Design Option; otherwise (default), find all.
  If pDBView is set, find only in the elements of the DBView; otherwise (default), find in the entire model.
  Exclude elements not meaningful to the end user:
  a) Exclude elements in sketches and families.
  b) Exclude invisible stuff like symbols, surrogates, and invisible balusters.
  c) Exclude anything in a Legend View.
  d) Exclude anything that is filtered out by box-selection filter chain.
  Return the number found.
</member>
    <member name="M:DockablePaneInterop.PreTranslateMessage(tagMSG*)">
      <summary>
Override message pre-translation to allow the WPF source to handle
any keyboard input properly, prior to Windows doing any sort of 
translation or dispatching.
</summary>
      <remarks>
This pre-translation is required for proper handling of tabbing and other
keyboard mnemonics for the embedded WPF controls. 
</remarks>
    </member>
    <member name="M:DockablePaneInterop.attachPane(HWND__*,Autodesk.Revit.UI.DockablePaneProviderData)">
      <summary>
 Called to attach to the specified pane
</summary>
      <param name="parent">The native HWND parent/container for the Pane.</param>
      <param name="paneData">The provider information describing the Pane.</param>
      <returns>
true if successfully attached, false otherwise.
</returns>
    </member>
    <member name="M:DockablePaneInterop.Dispose">
      <summary>
Destruct the interop. No special processing as garbage collection should
take care of clearing of msg hook and destroying of hwnd source.
</summary>
    </member>
    <member name="M:DockablePaneInterop.#ctor">
      <summary>
Construct an interop handler.
</summary>
    </member>
    <member name="M:DockablePaneMsgHook.HookProc(System.IntPtr,System.Int32,System.IntPtr,System.IntPtr,System.Boolean@)">
      <summary>
The hook delegate that gets called for each message on the hooked source.
We hook to handle any DockablePane specific messages as well as to hook
WM_GETDLGCODE properly to allow for input commands on the embedded controls.
</summary>
    </member>
    <member name="M:DockablePaneMsgHook.#ctor(System.Windows.Interop.HwndSource)">
      <summary> 
Construct a hook for the given source and panelData
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Macros.ApplicationEntryPoint.AddinFolder">
      <summary> The full path to the Revit Macros module. </summary>
      <remarks> This path should be used instead of the .NET GetExecutingAssembly() result, because
the Macros module is loaded in such a way to make that result unreliable.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.ApplicationEntryPoint.OnShutdownEO">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.ApplicationEntryPoint.FinishInitializationEO">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.ApplicationEntryPoint.Initialize(System.Object,System.String)">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Macros.ApplicationEntryPoint">
      <summary>For Revit Macros use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewControl.viewControl_UnLoaded(System.Object,System.Windows.RoutedEventArgs)">
      <summary>This is the unloaded event handler and raised when the control is removed from within
an element tree of loaded elements (dispose the control explicitly by users).</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewControl.Dispose">
      <summary> This method is called if the user explicitly disposes of the
object (by calling the Dispose method in other managed languages, 
or the destructor in C++).</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.PreviewControl.ScrollbarVisibility">
      <summary> The visibility of the preview view scrollbars. </summary>
      <since>2014</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PreviewControl.UIView">
      <summary>The UI view representing the preview view.</summary>
      <remarks>Use this handle to manipulate the zoom and pan of the view.</remarks>
      <since>2014</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PreviewControl.ViewId">
      <summary>The view Id.</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewControl.#ctor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId)">
      <summary>Constructs a preview control.</summary>
      <param name="document">The document. </param>
      <param name="viewId">The view id want to browse in this control. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dbDocument or viewId is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when the given document is a linked document or the given viewId is invalid or the view is a schedule 
or other non-graphical view such as schedule views or the project browser view.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when there is an active preview control already.
</exception>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.PreviewControl">
      <summary> Presents a preview control to browse the Revit model.</summary>
      <remarks> The dialog or form or window host this preview control must be modal.
The view can be any graphical view but not a non-graphical view. And only one can be active.
The view can be manipulated by embedded view cube and the visibility and graphical settings
set on the view will be evident in the preview control.
</remarks>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PreviewHwndHost.ScrollbarVisibility">
      <summary> The visibility of the preview view scrollbars. </summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewHwndHost.destroyHwndWindow">
      <summary>Destroy the window and release the modal scope and update the active view to NULL.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewHwndHost.BuildWindowCore(System.Runtime.InteropServices.HandleRef)">
      <summary> Creates the Hwnd of given db view as the child of hwndParent.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PreviewHwndHost.#ctor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId)">
      <summary> Constructs the Preview host window to interop with win32 control.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.PreviewHwndHost">
      <summary> Hosts a Win32 window as an element within Windows Presentation Foundation (WPF) content. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.ScrollbarVisibility">
      <summary> Lists all the visibility types of the scrollbar in the preview view. </summary>
      <since>2014</since>
    </member>
    <member name="F:Autodesk.Revit.UI.ScrollbarVisibility.Both">
      <summary> The both scrollbars are visible. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ScrollbarVisibility.Vertical">
      <summary> The vertical scrollbar is visible. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ScrollbarVisibility.Horizontal">
      <summary> The horizontal scrollbar is visible. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ScrollbarVisibility.None">
      <summary> No scrollbars are visible. </summary>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.WasExtraCheckBoxChecked">
      <summary> Gets the status of the extra checkbox. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> Thrown when the task dialog does not have an extra checkbox or the task dialog is not shown yet. </exception>
      <returns> Whether the extra checkbox is checked. </returns>
      <since>2017</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.Show(System.String,System.String,Autodesk.Revit.UI.TaskDialogCommonButtons,Autodesk.Revit.UI.TaskDialogResult)">
      <summary> Shows a task dialog with title, main instruction, common buttons and default buttons. </summary>
      <param name="title"> The title of the task dialog. </param>
      <param name="mainInstruction"> The main instruction of the task dialog. </param>
      <param name="buttons"> The common buttons to be shown the task dialog. </param>
      <param name="defaultButton"> The default button of the task dialog. </param>
      <returns> The user's response to the task dialog. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.Show(System.String,System.String,Autodesk.Revit.UI.TaskDialogCommonButtons)">
      <summary> Shows a task dialog with title, main instruction and common buttons. </summary>
      <param name="title"> The title of the task dialog. </param>
      <param name="mainInstruction"> The main instruction of the task dialog. </param>
      <param name="buttons"> The common buttons to be shown the task dialog. </param>
      <returns> The user's response to the task dialog. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.Show(System.String,System.String)">
      <overloads> Shows a task dialog. </overloads>
      <summary> Shows a task dialog with title, main instruction and a Close button. </summary>
      <param name="title"> The title of the task dialog. </param>
      <param name="mainInstruction"> The main instruction of the task dialog. </param>
      <returns> The user's response to the task dialog. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.WasVerificationChecked">
      <summary> Gets the status of the verification checkbox. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> Thrown when the task dialog does not have verification checkbox or the task dialog is not shown yet. </exception>
      <returns> Whether the verification checkbox is checked. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.Show">
      <summary> Shows the task dialog. </summary>
      <returns> The user's response to the task dialog. </returns>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when 
the task dialog is shown out of main thread of Revit or when an extra checkbox and a verification checkbox are enabled at the same time.</exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.AddCommandLink(Autodesk.Revit.UI.TaskDialogCommandLinkId,System.String)">
      <summary> Adds a CommandLink associated to the given id, displaying the indicating main content. </summary>
      <param name="id"> The id of the CommandLink. This corresponds to the value returned by Show() when the link is chosen by the user. </param>
      <param name="mainContent"> The main content of the CommandLink.  </param>
      <remarks>
        <para> Parameter mainContent cannot contain newlines. </para>
        <para> If the id has already been set to the task dialog, the new CommandLink definition overrides the old one. </para>
        <para> CommandLinks will always be shown in the dialog in the order of their ids. </para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.AddCommandLink(Autodesk.Revit.UI.TaskDialogCommandLinkId,System.String,System.String)">
      <overloads> Adds a CommandLink to the TaskDialog. </overloads>
      <summary> Adds a CommandLink associated to the given id, displaying the indicating main and supporting content. </summary>
      <param name="id"> The id of the CommandLink. This corresponds to the value returned by Show() when the link is chosen by the user. </param>
      <param name="mainContent"> The main content of the CommandLink. </param>
      <param name="supportingContent"> The main content of the CommandLink. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException"> Thrown when mainContent is <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when mainContent is an empty string. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when the mainContent contains newline characters. </exception>
      <remarks>
        <para> Parameter mainContent cannot contain newlines. </para>
        <para> If the id has already been set to the task dialog, the new CommandLink definition overrides the old one. </para>
        <para> CommandLinks will always be shown in the dialog in the order of their ids. </para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.TitleAutoPrefix">
      <summary> Whether the TaskDialog's title will automatically have the add-in name added as a prefix. </summary>
      <remarks> The default value is true. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.CommonButtons">
      <summary> The push buttons displayed in the task dialog. </summary>
      <remarks>
        <para> If no common button or CommandLink is added to the task dialog, the dialog will contain the Close common button by default.</para>
        <para>
Revit task dialogs are following these conventions for commit button usage:
<list type="bullet"><item> Use a single Close button instead of a single OK button on informational messages. </item><item> Use a question at the end of the Main Instruction with a Yes/No combo (or Yes/No/Cancel) instead of OK/Cancel. This should work 99% of the time. For example: "Are you sure you want to overwrite the file?" and use Yes/No buttons. </item><item> Do not customize the button names unless there is a very good reason to do so. For example, "Are you sure you want to save the file?" would use Yes/No buttons and not Save/No or Save/Cancel. </item></list></para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.MainIcon">
      <summary> The icon shown in the task dialog. </summary>
      <remarks>
        <para> There is no icon by default. </para>
        <para>
Task dialogs in Revit rarely use icons, to reduce the visual clutter shown to the user. Only one icon can be used 
in the task dialog, the Warning (!) icon, and it should be used only when there is a risk of data loss or 
significant time lost. If there is no data loss or time lost as a possible result of the message, do not use the icon. 
</para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.DefaultButton">
      <summary> The default button for the dialog. </summary>
      <remarks>
If DefaultButton is TaskDialogResult.None or its value does not correspond to any CommonButton or CommandLink in the dialog, 
then the first button in the dialog will be the default.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.AllowCancellation">
      <summary> Whether the task dialog can be cancelled if no cancel button is specified. </summary>
      <remarks> The default value is true. If there is a cancel button in the task dialog, the it always can be cancelled.</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.FooterText">
      <summary> FooterText is used in the footer area of the task dialog. </summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.ExtraCheckBoxText">
      <summary> ExtraCheckBoxText is used to label the extra checkbox. </summary>
      <remarks>
If ExtraCheckBoxText is set, a checkbox with the text will be shown. You can get the response of checkbox by checking the return value of the WasExtraCheckBoxChecked() method.
</remarks>
      <since>2017</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.VerificationText">
      <summary> VerificationText is used to label the verification checkbox. </summary>
      <remarks>
If VerificationText is set, a checkbox with the text will be shown. You can get the response of checkbox by checking the return value of the WasVerificationChecked() method.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.ExpandedContent">
      <summary> ExpandedContent is hidden by default and will display at the bottom of the task dialog when the "Show details" button is pressed. </summary>
      <remarks>
If added to a dialog, a Show/Hide toggle button displays at the bottom of the task dialog. The Expanded Content is hidden by default. 
This area is used when even more information needs to be relayed to the user than space allows. It is rarely used, but can be used for showing technical 
information passed through in a variable, for example back-end error information, lists of files, etc. 
Variable information should always be introduced with a lead-in sentence.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.MainContent">
      <summary> MainContent is the smaller text that appears just below the main instructions. </summary>
      <remarks>
The Main Content is optional. It should be used to give further explanation to the user, such as how to correct the problem or work around the situation. 
It displays in a smaller black font below the main instructions. Follow these guidelines:
<list type="bullet"><item> Text should be clear and jargon free. </item><item> Main content should not simply restate the main instructions in a different way, they should contain additional information 
    that builds upon or reinforces the main instructions. </item><item> Main content should be written in sentence format (normal capitalization and punctuation). </item><item> Address the user directly as "you" when needed. </item></list></remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.Id">
      <summary> The Id of the task dialog. </summary>
      <remarks>
Id is used as TaskDialogShowingEventArgs.DialogId for DialogBoxShowing events. 
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.MainInstruction">
      <summary> The large primary text that appears at the top of a task dialog. </summary>
      <remarks>
        <para>
It should concisely sum up the problem or situation that is causing the message to display. Follow these guidelines:
<list type="bullet"><item> Every task dialog includes a main instruction. </item><item> Text should not exceed three lines. </item><item> Text should use plain language and be jargon free. </item><item> Main instructions should be written in sentence format – normal capitalization and punctuation. </item><item> Address the user directly as "you" when appropriate. </item><item> When presented with multiple command link options the standard final line for the main instructions should be,
  "What do you want to do?" </item></list></para>
        <para> Revit will automatically break lines to make the message fit well. "\n" also breaks down to the next line. For a paragraph break, use "\n\n". </para>
        <para> Hyperlinks added to the main instructions will not be enabled when the dialog is shown on Vista. </para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TaskDialog.Title">
      <summary> Title of the task dialog. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException"> Thrown when setting the value to <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when setting the value to an empty string or string contains newline characters. </exception>
      <remarks>
        <para> Titles of task dialogs should be unique. Do not reuse the same title for multiple task dialogs. </para>
        <para> Newline characters are not allowed in Title.</para>
        <para> 
When the dialogs is shown, Revit will put "External Command Name –" or "External Application –" in the front of the value by default. Examples:
<list type="bullet"><item> Plug-in Name – No Rooms to Calculate </item><item> Plug-in Name – Invalid Value for Length </item></list>
You can suppress it by setting TitleAutoPrefix to false.
</para>
        <para> 
Titles should describe the nature of the problem or state the situation that currently exists. 
The title tells the user why they are getting the message, not what they are supposed to do.
</para>
      </remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TaskDialog.#ctor(System.String)">
      <summary> Creates a task dialog with title. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException"> Thrown when title is <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when title is an empty string. </exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TaskDialog">
      <summary> A task dialog is a dialog box that can be used to display information and receive simple input from the user. It has a common set of controls  
that are arranged in a standard order to assure consistent look and feel. </summary>
      <remarks>
        <para>
There are two ways to create and show a task dialog to the user. The first option is to construct the TaskDialog, set its properties individually, and use
the instance method Show() to show it to the user. The second is to use one of the static Show() methods to construct and show the dialog in one step. 
When you use the static methods only a subset of the options can be specified.
</para>
        <para>
Please follow Revit standards to create task dialogs. The standards are listed in the remarks of each property or method. 
</para>
      </remarks>
      <since>2011</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\TaskDialogExample.cs" region="Autodesk.Revit.UI.TaskDialog" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\TaskDialogExample.vb" region="Autodesk.Revit.UI.TaskDialog" />
      </example>
    </member>
    <member name="T:Autodesk.Revit.UI.TaskDialogIcon">
      <summary> Standard icons to be used in the task dialog. </summary>
      <since>2011</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogIcon.TaskDialogIconShield">
      <summary>Shield icon.</summary>
      <since>2018</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogIcon.TaskDialogIconInformation">
      <summary>Information icon.</summary>
      <since>2018</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogIcon.TaskDialogIconError">
      <summary>Error icon.</summary>
      <since>2018</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogIcon.TaskDialogIconWarning">
      <summary>Warning icon.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogIcon.TaskDialogIconNone">
      <summary>No icon.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.TaskDialogResult">
      <summary> Enum to specify the task dialog result. </summary>
      <since>2011</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.CommandLink4">
      <summary> The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink4. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.CommandLink3">
      <summary> The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink3. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.CommandLink2">
      <summary> The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink2. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.CommandLink1">
      <summary> The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink1. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.Close">
      <summary> The return value for TaskDialogCommonButtons.Close. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.No">
      <summary> The return value for TaskDialogCommonButtons.No. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.Yes">
      <summary> The return value for TaskDialogCommonButtons.Yes. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.Retry">
      <summary> The return value for TaskDialogCommonButtons.Retry. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.Cancel">
      <summary> The return value for TaskDialogCommonButtons.Cancel or the task dialog is cancelled by ESC, Alt+F4 or the X close button. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.Ok">
      <summary> The return value for TaskDialogCommonButtons.Ok. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogResult.None">
      <summary> Nothing is returned from the task dialog. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.TaskDialogCommandLinkId">
      <summary> Enum to specify the Id of CommandLink. </summary>
      <since>2011</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommandLinkId.CommandLink4">
      <summary> CommandLink4. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommandLinkId.CommandLink3">
      <summary> CommandLink3. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommandLinkId.CommandLink2">
      <summary> CommandLink2. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommandLinkId.CommandLink1">
      <summary> CommandLink1. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.TaskDialogCommonButtons">
      <summary>A enumerated type containing the standard buttons available for Task Dialogs.</summary>
      <since>2011</since>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.Close">
      <summary>Close button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.Retry">
      <summary>Retry button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.Cancel">
      <summary>Cancel button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.No">
      <summary>No button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.Yes">
      <summary>Yes button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.Ok">
      <summary>OK button.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.TaskDialogCommonButtons.None">
      <summary>No common button.</summary>
    </member>
    <member name="M:MFCDockableFrame.isActiveDocChanged(ADocument*)">
      <summary>
If current active document is changed.
</summary>
    </member>
    <member name="M:ManageWorkstationInput.destroyScriptDef">
-------------------------------------------------------------------------
</member>
    <member name="M:ManageWorkstationInput.hasStreamToPlay">
----------------- REVITNET RealJournaling only --------------------------
</member>
    <member name="M:vecsAreParallelExact(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Determines whether vectors are parallel within DOUBLE_EPS 
Returns: if parallel =&gt; 1
         if not or if either is {0,0,0}. =&gt; 0
         if antiparallel =&gt; -1
</member>
    <member name="M:vecsAreParallelApprox(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Determines whether vectors are parallel within ANGLE_EPS 
Returns: if parallel =&gt; 1
         if not or if either is {0,0,0}. =&gt; 0
         if antiparallel =&gt; -1
</member>
    <member name="M:almostEqual(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Returns true when the two vectors are almost equal.
NOTE that the applied tolerance scales with the length of the 
vectors.  USE WITH CAUTION.
</member>
    <member name="M:tripleProduct(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
The triple product of of three vectors vec0, vec1, vec2 is defined as
   dot(cross(vec0, vec1), vec2).

It is equal to the signed volume of the parallelepiped spanned by the three vectors.
It is zero if and only if the vectors are linearly dependent. This function is equivalent
to the Vec3d function vecVolume.
</member>
    <member name="M:cross(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Treats lhs and rhs as vectors and returns their cross product.
</member>
    <member name="M:dot(XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,XYZ!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
Treats lhs and rhs as vectors and returns their dot product.
</member>
    <member name="M:XYZ.normalized">
returns a parallel unit vector or zero vector
</member>
    <member name="M:XYZ.unit">
make this a unit vector or return ERR_NULL_VECTOR
</member>
    <member name="M:XYZ.#ctor(System.Double,System.Double,System.Double)">
construct XYZ from components
</member>
    <member name="M:XYZ.#ctor(System.Double!System.Runtime.CompilerServices.IsConst*)">
construct XYZ from Vec3d
</member>
    <member name="M:XYZ.basisZ">
returns a unit vector in the Z-direction (0, 0, 1)
</member>
    <member name="M:XYZ.basisY">
returns a unit vector in the Y-direction (0, 1, 0)
</member>
    <member name="M:XYZ.basisX">
returns a unit vector in the X-direction (1, 0, 0)
</member>
    <member name="M:XYZ.zero">
returns (0, 0, 0)
</member>
    <member name="M:XYZ.#ctor">
literal constructors. expect heavy optimization.
</member>
    <member name="T:XYZ">

A self-initializing 3d point/vector class.

Notes:
This is intended to be a drop-in replacement for Vec3d.  This means transparent operations with
Vec3d, AKA double*, methods.  This means the compiler may not catch some type errors.

XYZ can be returned by value because the worst that can happen is gratuitous copying of 24
bytes, and we can live with it. In general, we let the compiler figure out the temporary
storage and optimize inline functions.

</member>
    <member name="F:CBitmapRenderTarget.m_pBitmapRenderTarget">
      <summary>
A pointer to an ID2D1BitmapRenderTarget object.
</summary>
    </member>
    <member name="M:CBitmapRenderTarget.GetBitmap(CD2DBitmap*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations. </summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="bitmap">When this method returns, contains the valid bitmap for this render target. This bitmap can be used for drawing operations.</param>
    </member>
    <member name="M:CBitmapRenderTarget.op_Implicit~ID2D1BitmapRenderTarget*">
      <summary>
Returns ID2D1BitmapRenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1BitmapRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CBitmapRenderTarget.GetBitmapRenderTarget">
      <summary>
Returns ID2D1BitmapRenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1BitmapRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CBitmapRenderTarget.Detach">
      <summary>
Detaches render target interface from the object</summary>
      <returns> 
Pointer to detached render target interface.</returns>
    </member>
    <member name="M:CBitmapRenderTarget.Attach(ID2D1BitmapRenderTarget*)">
      <summary>
Attaches existing render target interface to the object</summary>
      <param name="pTarget">Existing render target interface. Cannot be NULL</param>
    </member>
    <member name="M:CBitmapRenderTarget.#ctor">
      <summary>
Constructs a CBitmapRenderTarget object.</summary>
    </member>
    <member name="F:CDCRenderTarget.m_pDCRenderTarget">
      <summary>
A pointer to an ID2D1DCRenderTarget object.
</summary>
    </member>
    <member name="M:CDCRenderTarget.op_Implicit~ID2D1DCRenderTarget*">
      <summary>
Returns ID2D1DCRenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1DCRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CDCRenderTarget.GetDCRenderTarget">
      <summary>
Returns ID2D1DCRenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1DCRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CDCRenderTarget.BindDC(CDC!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Binds the render target to the device context to which it issues drawing commands</summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="dc">The device context to which the render target issues drawing commands</param>
      <param name="rect">The dimensions of the handle to a device context (HDC) to which the render target is bound</param>
    </member>
    <member name="M:CDCRenderTarget.Create(D2D1_RENDER_TARGET_PROPERTIES!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Creates a CDCRenderTarget.</summary>
      <returns>
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="props">The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering.</param>
    </member>
    <member name="M:CDCRenderTarget.Detach">
      <summary>
Detaches render target interface from the object</summary>
      <returns> 
Pointer to detached render target interface.</returns>
    </member>
    <member name="M:CDCRenderTarget.Attach(ID2D1DCRenderTarget*)">
      <summary>
Attaches existing render target interface to the object</summary>
      <param name="pTarget">Existing render target interface. Cannot be NULL</param>
    </member>
    <member name="M:CDCRenderTarget.#ctor">
      <summary>
Constructs a CDCRenderTarget object.</summary>
    </member>
    <member name="T:CDCRenderTarget">
      <summary>
ID2D1DCRenderTarget wrapper.
</summary>
    </member>
    <member name="F:CHwndRenderTarget.m_pHwndRenderTarget">
      <summary>
A pointer to an ID2D1HwndRenderTarget object.
</summary>
    </member>
    <member name="M:CHwndRenderTarget.Resize(CD2DSizeU!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Changes the size of the render target to the specified pixel size</summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="size">The new size of the render target in device pixels</param>
    </member>
    <member name="M:CHwndRenderTarget.CheckWindowState">
      <summary>
Indicates whether the HWND associated with this render target is occluded.</summary>
      <returns>
A value that indicates whether the HWND associated with this render target is occluded.</returns>
    </member>
    <member name="M:CHwndRenderTarget.GetHwnd">
      <summary>
Returns the HWND associated with this render target.</summary>
      <returns>
The HWND associated with this render target.</returns>
    </member>
    <member name="M:CHwndRenderTarget.op_Implicit~ID2D1HwndRenderTarget*">
      <summary>
Returns ID2D1HwndRenderTarget interface.</summary>
      <returns>
Pointer to an ID2D1HwndRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CHwndRenderTarget.GetHwndRenderTarget">
      <summary>
Returns ID2D1HwndRenderTarget interface.</summary>
      <returns>
Pointer to an ID2D1HwndRenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CHwndRenderTarget.ReCreate(HWND__*)">
      <summary>
Re-creates a render target associated with the window</summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="hWnd">The HWND associated with this render target</param>
    </member>
    <member name="M:CHwndRenderTarget.Create(HWND__*)">
      <summary>
Creates a render target associated with the window </summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE</returns>
      <param name="hWnd">The HWND associated with this render target</param>
    </member>
    <member name="M:CHwndRenderTarget.Detach">
      <summary>
Detaches render target interface from the object</summary>
      <returns> 
Pointer to detached render target interface.</returns>
    </member>
    <member name="M:CHwndRenderTarget.Attach(ID2D1HwndRenderTarget*)">
      <summary>
Attaches existing render target interface to the object</summary>
      <param name="pTarget">Existing render target interface. Cannot be NULL</param>
    </member>
    <member name="M:CHwndRenderTarget.#ctor(HWND__*)">
      <summary>
Constructs a CHwndRenderTarget object from HWND.</summary>
      <param name="hwnd">The HWND associated with this render target</param>
    </member>
    <member name="T:CHwndRenderTarget">
      <summary>
ID2D1HwndRenderTarget wrapper.
</summary>
    </member>
    <member name="F:CRenderTarget.m_pTextFormatDefault">
      <summary>
A pointer to CD2DTextFormat object that contains a default text format.
</summary>
    </member>
    <member name="F:CRenderTarget.m_lstResources">
      <summary>
A list of pointers to CD2DResource objects.
</summary>
    </member>
    <member name="F:CRenderTarget.m_pRenderTarget">
      <summary>
A pointer to an ID2D1RenderTarget object.
</summary>
    </member>
    <member name="M:CRenderTarget.VerifyResource(CD2DResource*)">
      <summary>
Verifies CD2DResource object validity; creates the object if it didn't already exist.</summary>
      <param name="pResource">Pointer to CD2DResource object.</param>
      <returns> 
TRUE is object if valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CRenderTarget.PopAxisAlignedClip">
      <summary>
Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations.</summary>
    </member>
    <member name="M:CRenderTarget.PushAxisAlignedClip(CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,D2D1_ANTIALIAS_MODE)">
      <summary>
Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations.</summary>
      <param name="rectClip">The size and position of the clipping area, in device-independent pixels.</param>
      <param name="mode">The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer.</param>
    </member>
    <member name="M:CRenderTarget.RestoreDrawingState(ID2D1DrawingStateBlock*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Sets the render target's drawing state to that of the specified ID2D1DrawingStateBlock.</summary>
      <param name="drawingStateBlock">The new drawing state of the render target.</param>
    </member>
    <member name="M:CRenderTarget.SaveDrawingState(ID2D1DrawingStateBlock*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Saves the current drawing state to the specified ID2D1DrawingStateBlock.</summary>
      <param name="drawingStateBlock">When this method returns, contains the current drawing state of the render target. This parameter must be initialized before passing it to the method.</param>
    </member>
    <member name="M:CRenderTarget.Flush(System.UInt64*,System.UInt64*)">
      <summary>
Executes all pending drawing commands.</summary>
      <param name="tag1">Contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.</param>
      <param name="tag2">Contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized.</param>
    </member>
    <member name="M:CRenderTarget.PopLayer">
      <summary>
Stops redirecting drawing operations to the layer that is specified by the last PushLayer call.</summary>
    </member>
    <member name="M:CRenderTarget.PushLayer(D2D1_LAYER_PARAMETERS!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DLayer*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called.</summary>
      <param name="layerParameters">The content bounds, geometric mask, opacity, opacity mask, and antialiasing options for the layer.</param>
      <param name="layer">The layer that receives subsequent drawing operations.</param>
    </member>
    <member name="M:CRenderTarget.CreateCompatibleRenderTarget(CBitmapRenderTarget*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DSizeF,CD2DSizeU,D2D1_PIXEL_FORMAT*,D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS)">
      <summary>
Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target .</summary>
      <returns>If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="bitmapTarget">When this method returns, contains the address of a pointer to a new bitmap render target. This parameter is passed uninitialized.</param>
      <param name="sizeDesired">The desired size of the new render target in device-independent pixels if it should be different from the original render target, or NULL. For more information, see the Remarks section.</param>
      <param name="sizePixelDesired">The desired size of the new render target in pixels if it should be different from the original render target, or NULL. For more information, see the Remarks section.</param>
      <param name="desiredFormat">The desired pixel format and alpha mode of the new render target, or NULL. If the pixel format is set to DXGI_FORMAT_UNKNOWN or if this parameter is null, the new render target uses the same pixel format as the original render target. If the alpha mode is D2D1_ALPHA_MODE_UNKNOWN or this parameter is NULL, the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes.</param>
      <param name="options">A value that specifies whether the new render target must be compatible with GDI.</param>
    </member>
    <member name="M:CRenderTarget.GetTransform(D2D_MATRIX_3X2_F*)">
      <summary>
Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.</summary>
      <param name="transform">The transform to apply to the render target.</param>
    </member>
    <member name="M:CRenderTarget.SetTransform(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.</summary>
      <param name="transform">The transform to apply to the render target.</param>
    </member>
    <member name="M:CRenderTarget.SetTransform(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space.</summary>
      <param name="transform">The transform to apply to the render target.</param>
    </member>
    <member name="M:CRenderTarget.GetTextRenderingParams(IDWriteRenderingParams**)">
      <summary>
Retrieves the render target's current text rendering options.</summary>
      <param name="textRenderingParams">When this method returns, textRenderingParamscontains the address of a pointer to the render target's current text rendering options.</param>
    </member>
    <member name="M:CRenderTarget.SetTextRenderingParams(IDWriteRenderingParams*)">
      <summary>
Specifies text rendering options to be applied to all subsequent text and glyph drawing operations.</summary>
      <param name="textRenderingParams">The text rendering options to be applied to all subsequent text and glyph drawing operations; NULL to clear current text rendering options.</param>
    </member>
    <member name="M:CRenderTarget.GetTextAntialiasMode">
      <summary>
Gets the current antialiasing mode for text and glyph drawing operations.</summary>
      <returns>
Current antialiasing mode for text and glyph drawing operations.</returns>
    </member>
    <member name="M:CRenderTarget.SetTextAntialiasMode(D2D1_TEXT_ANTIALIAS_MODE)">
      <summary>
Specifies the antialiasing mode to use for subsequent text and glyph drawing operations.</summary>
      <param name="textAntialiasMode">The antialiasing mode to use for subsequent text and glyph drawing operations.</param>
    </member>
    <member name="M:CRenderTarget.GetAntialiasMode">
      <summary>
Retrieves the current antialiasing mode for nontext drawing operations.</summary>
      <returns>
Current antialiasing mode for nontext drawing operations.</returns>
    </member>
    <member name="M:CRenderTarget.SetAntialiasMode(D2D1_ANTIALIAS_MODE)">
      <summary>
Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations.</summary>
      <param name="antialiasMode">The antialiasing mode for future drawing operations.</param>
    </member>
    <member name="M:CRenderTarget.FillMesh(CD2DMesh*,CD2DBrush*)">
      <summary>
Paints the interior of the specified mesh.</summary>
      <param name="pMesh">The mesh to paint.</param>
      <param name="pBrush">The brush used to paint the mesh.</param>
    </member>
    <member name="M:CRenderTarget.DrawGlyphRun(CD2DPointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,DWRITE_GLYPH_RUN!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,DWRITE_MEASURING_MODE)">
      <summary>
Draws the specified glyphs.</summary>
      <param name="ptBaseLineOrigin">The origin, in device-independent pixels, of the glyphs' baseline.</param>
      <param name="glyphRun">The glyphs to render.</param>
      <param name="pForegroundBrush">The brush used to paint the specified glyphs.</param>
      <param name="measuringMode">A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL.</param>
    </member>
    <member name="M:CRenderTarget.FillGeometry(CD2DGeometry*,CD2DBrush*,CD2DBrush*)">
      <summary>
Paints the interior of the specified geometry.</summary>
      <param name="pGeometry">The geometry to paint.</param>
      <param name="pBrush">The brush used to paint the geometry's interior.</param>
      <param name="pOpacityBrush">The opacity mask to apply to the geometry;NULL for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an ID2D1BitmapBrush that has its x- and y-extend modes set to D2D1_EXTEND_MODE_CLAMP. For more information, see the Remarks section.</param>
    </member>
    <member name="M:CRenderTarget.DrawGeometry(CD2DGeometry*,CD2DBrush*,System.Single,ID2D1StrokeStyle*)">
      <summary>
Draws the outline of the specified geometry using the specified stroke style.</summary>
      <param name="pGeometry">The geometry to draw.</param>
      <param name="pBrush">The brush used to paint the geometry's stroke.</param>
      <param name="fStrokeWidth">The thickness of the geometry's stroke. The stroke is centered on the geometry's outline.</param>
      <param name="strokeStyle">The style of stroke to apply to the geometry's outline, or NULL to paint a solid stroke.</param>
    </member>
    <member name="M:CRenderTarget.DrawBitmap(CD2DBitmap*,CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single,D2D1_BITMAP_INTERPOLATION_MODE,CD2DRectF!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Draws the formatted text described by the specified IDWriteTextLayout object.</summary>
      <param name="pBitmap">The bitmap to render.</param>
      <param name="rectDest">The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state.</param>
      <param name="fOpacity">A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents.</param>
      <param name="interpolationMode">The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation.</param>
      <param name="pRectSrc">The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw.</param>
    </member>
    <member name="M:CRenderTarget.DrawTextLayout(CD2DPointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DTextLayout*,CD2DBrush*,D2D1_DRAW_TEXT_OPTIONS)">
      <summary>
Draws the formatted text described by the specified IDWriteTextLayout object.</summary>
      <param name="ptOrigin">The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn.</param>
      <param name="textLayout">The formatted text to draw. Any drawing effects that do not inherit from ID2D1Resource are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state.</param>
      <param name="pBrushForeground">The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the IDWriteTextLayout::SetDrawingEffect method).</param>
      <param name="options">A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle.</param>
    </member>
    <member name="M:CRenderTarget.DrawText(ATL.CStringT&lt;System.Char,StrTraitMFC_DLL&lt;System.Char,ATL.ChTraitsCRT{System.Char}&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,CD2DTextFormat*,D2D1_DRAW_TEXT_OPTIONS,DWRITE_MEASURING_MODE)">
      <summary>
Draws the specified text using the format information provided by an IDWriteTextFormat object.</summary>
      <param name="strText">A pointer to an array of Unicode characters to draw.</param>
      <param name="rect">The size and position of the area in which the text is drawn.</param>
      <param name="pForegroundBrush">The brush used to paint the text.</param>
      <param name="textFormat">An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction.</param>
      <param name="options">A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle.</param>
      <param name="measuringMode">A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL.</param>
    </member>
    <member name="M:CRenderTarget.FillOpacityMask(CD2DBitmap*,CD2DBrush*,D2D1_OPACITY_MASK_CONTENT,CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target.</summary>
      <param name="pOpacityMask">The position and radius, in device-independent pixels, of the ellipse to paint.</param>
      <param name="pBrush">The brush used to paint the region of the render target specified by destinationRectangle.</param>
      <param name="content">The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended.</param>
      <param name="rectDest">The region of the render target to paint, in device-independent pixels.</param>
      <param name="rectSrc">The region of the bitmap to use as the opacity mask, in device-independent pixels.</param>
    </member>
    <member name="M:CRenderTarget.DrawLine(CD2DPointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DPointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,System.Single,ID2D1StrokeStyle*)">
      <summary>
Draws a line between the specified points using the specified stroke style.</summary>
      <param name="ptFrom">The start point of the line, in device-independent pixels.</param>
      <param name="ptTo">The end point of the line, in device-independent pixels.</param>
      <param name="pBrush">The brush used to paint the line's stroke.</param>
      <param name="fStrokeWidth">A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line.</param>
      <param name="strokeStyle">The style of stroke to paint, or NULL to paint a solid line.</param>
    </member>
    <member name="M:CRenderTarget.FillEllipse(CD2DEllipse!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*)">
      <summary>
Paints the interior of the specified ellipse.</summary>
      <param name="ellipse">The position and radius, in device-independent pixels, of the ellipse to paint.</param>
      <param name="pBrush">The brush used to paint the interior of the ellipse.</param>
    </member>
    <member name="M:CRenderTarget.DrawEllipse(CD2DEllipse!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,System.Single,ID2D1StrokeStyle*)">
      <summary>
Draws the outline of the specified ellipse using the specified stroke style.</summary>
      <param name="ellipse">The position and radius of the ellipse to draw, in device-independent pixels.</param>
      <param name="pBrush">The brush used to paint the ellipse's outline.</param>
      <param name="fStrokeWidth">The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline.</param>
      <param name="strokeStyle">The style of stroke to apply to the ellipse's outline, or NULL to paint a solid stroke.</param>
    </member>
    <member name="M:CRenderTarget.FillRoundedRectangle(CD2DRoundedRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*)">
      <summary>
Paints the interior of the specified rounded rectangle.</summary>
      <param name="rectRounded">The dimensions of the rounded rectangle to paint, in device independent pixels.</param>
      <param name="pBrush">The brush used to paint the interior of the rounded rectangle.</param>
    </member>
    <member name="M:CRenderTarget.DrawRoundedRectangle(CD2DRoundedRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,System.Single,ID2D1StrokeStyle*)">
      <summary>
Draws the outline of the specified rounded rectangle using the specified stroke style.</summary>
      <param name="rectRounded">The dimensions of the rounded rectangle to draw, in device-independent pixels.</param>
      <param name="pBrush">The brush used to paint the rounded rectangle's outline.</param>
      <param name="fStrokeWidth">The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f.</param>
      <param name="strokeStyle">The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL.</param>
    </member>
    <member name="M:CRenderTarget.FillRectangle(CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*)">
      <summary>
Paints the interior of the specified rectangle.</summary>
      <param name="rect">The dimension of the rectangle to paint, in device-independent pixels.</param>
      <param name="pBrush">The brush used to paint the rectangle's interior.</param>
    </member>
    <member name="M:CRenderTarget.DrawRectangle(CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DBrush*,System.Single,ID2D1StrokeStyle*)">
      <summary>
Draws the outline of a rectangle that has the specified dimensions and stroke style.</summary>
      <param name="rect">The dimensions of the rectangle to draw, in device-independent pixels</param>
      <param name="pBrush">The brush used to paint the rectangle's stroke</param>
      <param name="fStrokeWidth">A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline.</param>
      <param name="strokeStyle">The style of stroke to paint, or NULL to paint a solid stroke.</param>
    </member>
    <member name="M:CRenderTarget.Clear(_D3DCOLORVALUE)">
      <summary>
Clears the drawing area to the specified color.</summary>
      <param name="color">The color to which the drawing area is cleared.</param>
    </member>
    <member name="M:CRenderTarget.COLORREF_TO_D2DCOLOR(System.UInt32!System.Runtime.CompilerServices.IsLong,System.Int32)">
      <summary>
Converts GDI color and alpha values to the D2D1_COLOR_F object.</summary>
      <param name="color">RGB value.</param>
      <param name="nAlpha">Alpha value.</param>
      <returns>
D2D1_COLOR_F value.</returns>
    </member>
    <member name="M:CRenderTarget.EndDraw">
      <summary>
Ends drawing operations on the render target and indicates the current error state and associated tags.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
    </member>
    <member name="M:CRenderTarget.BeginDraw">
      <summary>
Initiates drawing on this render target.</summary>
    </member>
    <member name="M:CRenderTarget.Detach">
      <summary>
Detaches render target interface from the object</summary>
      <returns> 
Pointer to detached render target interface.</returns>
    </member>
    <member name="M:CRenderTarget.Attach(ID2D1RenderTarget*)">
      <summary>
Attaches existing render target interface to the object</summary>
      <param name="pRenderTarget">Existing render target interface. Cannot be NULL</param>
    </member>
    <member name="M:CRenderTarget.GetMaximumBitmapSize">
      <summary>
Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target</summary>
      <returns> 
The maximum size, in pixels, of any one bitmap dimension supported by the render target</returns>
    </member>
    <member name="M:CRenderTarget.IsSupported(D2D1_RENDER_TARGET_PROPERTIES!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Indicates whether the render target supports the specified properties</summary>
      <returns> 
TRUE if the specified render target properties are supported by this render target; otherwise, FALSE</returns>
      <param name="renderTargetProperties">The render target properties to test</param>
    </member>
    <member name="M:CRenderTarget.SetTags(System.UInt64,System.UInt64)">
      <summary>
Specifies a label for subsequent drawing operations.</summary>
      <param name="tag1">A label to apply to subsequent drawing operations.</param>
      <param name="tag2">A label to apply to subsequent drawing operations.</param>
    </member>
    <member name="M:CRenderTarget.GetTags(System.UInt64*,System.UInt64*)">
      <summary>
Gets the label for subsequent drawing operations.</summary>
      <param name="tag1">Contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If NULL is specified, no value is retrieved for this parameter.</param>
      <param name="tag2">Contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If NULL is specified, no value is retrieved for this parameter.</param>
    </member>
    <member name="M:CRenderTarget.GetPixelSize">
      <summary>
Returns the size of the render target in device pixels</summary>
      <returns> 
The size of the render target in device pixels</returns>
    </member>
    <member name="M:CRenderTarget.GetPixelFormat">
      <summary>
Retrieves the pixel format and alpha mode of the render target</summary>
      <returns> 
The pixel format and alpha mode of the render target</returns>
    </member>
    <member name="M:CRenderTarget.GetDpi">
      <summary>
Returns the render target's dots per inch (DPI)</summary>
      <returns> 
The render target's dots per inch (DPI).</returns>
    </member>
    <member name="M:CRenderTarget.SetDpi(CD2DSizeF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Sets the dots per inch (DPI) of the render target.</summary>
      <param name="sizeDPI">A value greater than or equal to zero that specifies the horizontal/verticalDPI of the render target.</param>
    </member>
    <member name="M:CRenderTarget.GetSize">
      <summary>
Returns the size of the render target in device-independent pixels</summary>
      <returns> 
The current size of the render target in device-independent pixels</returns>
    </member>
    <member name="M:CRenderTarget.op_Implicit~ID2D1RenderTarget*">
      <summary>
Returns ID2D1RenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1RenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CRenderTarget.GetRenderTarget">
      <summary>
Returns ID2D1RenderTarget interface</summary>
      <returns> 
Pointer to an ID2D1RenderTarget interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CRenderTarget.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CRenderTarget.Destroy(System.Int32)">
      <summary>
Deletes one or more resources</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE</returns>
      <param name="bDeleteResources">If bDeleteResources is TRUE, all resources located in m_lstResources will be automatically destroyed.</param>
    </member>
    <member name="M:CRenderTarget.Dispose">
      <summary>
The destructor. Called when a render target object is being destroyed.
</summary>
    </member>
    <member name="M:CRenderTarget.#ctor">
      <summary>
Constructs a CRenderTarget object.</summary>
    </member>
    <member name="T:CRenderTarget">
      <summary>
ID2D1RenderTarget wrapper.
</summary>
    </member>
    <member name="F:CD2DMesh.m_pMesh">
      <summary>
A pointer to an ID2D1Mesh.
</summary>
    </member>
    <member name="M:CD2DMesh.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DMesh.Destroy">
      <summary>
Destroys a CD2DMesh object.</summary>
    </member>
    <member name="M:CD2DMesh.Create(CRenderTarget*)">
      <summary>
Creates a CD2DMesh.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DMesh.Open">
      <summary>
Opens the mesh for population.</summary>
      <returns>
A pointer to an ID2D1TessellationSink that is used to populate the mesh.</returns>
    </member>
    <member name="M:CD2DMesh.op_Implicit~ID2D1Mesh*">
      <summary>
Returns ID2D1Mesh interface</summary>
      <returns> 
Pointer to an ID2D1Mesh interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DMesh.Get">
      <summary>
Returns ID2D1Mesh interface</summary>
      <returns> 
Pointer to an ID2D1Mesh interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DMesh.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DMesh.Attach(ID2D1Mesh*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DMesh.Dispose">
      <summary>
The destructor. Called when a D2D mesh object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DMesh.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DMesh object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DMesh">
      <summary>
ID2D1Mesh wrapper.
</summary>
    </member>
    <member name="F:CD2DGeometrySink.m_pSink">
      <summary>
A pointer to an ID2D1GeometrySink.
</summary>
    </member>
    <member name="M:CD2DGeometrySink.SetSegmentFlags(D2D1_PATH_SEGMENT)">
      <summary>
Specifies stroke and join options to be applied to new segments added to the geometry sink.</summary>
      <param name="vertexFlags">Stroke and join options to be applied to new segments added to the geometry sink.</param>
    </member>
    <member name="M:CD2DGeometrySink.SetFillMode(D2D1_FILL_MODE)">
      <summary>
Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside.</summary>
      <param name="fillMode">The method used to determine whether a given point is part of the geometry.</param>
    </member>
    <member name="M:CD2DGeometrySink.Close">
      <summary>
Closes the geometry sink</summary>
      <returns> 
Nonzero if successful; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DGeometrySink.AddLines(CArray&lt;CD2DPointF,CD2DPointF&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Creates a sequence of lines using the specified points and adds them to the geometry sink.</summary>
      <param name="points">An array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. An array of a sequence of the end points of the lines to draw.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddLine(CD2DPointF)">
      <summary>
Creates a line segment between the current point and the specified end point and adds it to the geometry sink.</summary>
      <param name="point">The end point of the line to draw.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddQuadraticBeziers(CArray&lt;D2D1_QUADRATIC_BEZIER_SEGMENT,D2D1_QUADRATIC_BEZIER_SEGMENT&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Adds a sequence of quadratic Bezier segments as an array in a single call.</summary>
      <param name="beziers">An array of a sequence of quadratic Bezier segments.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddQuadraticBezier(D2D1_QUADRATIC_BEZIER_SEGMENT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Creates a quadratic Bezier curve between the current point and the specified end point.</summary>
      <param name="bezier">A structure that describes the control point and the end point of the quadratic Bezier curve to add.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddBeziers(CArray&lt;D2D1_BEZIER_SEGMENT,D2D1_BEZIER_SEGMENT&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Creates a sequence of cubic Bezier curves and adds them to the geometry sink.</summary>
      <param name="beziers">An array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddBezier(D2D1_BEZIER_SEGMENT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Creates a cubic Bezier curve between the current point and the specified end point.</summary>
      <param name="bezier">A structure that describes the control points and end point of the Bezier curve to add.</param>
    </member>
    <member name="M:CD2DGeometrySink.AddArc(D2D1_ARC_SEGMENT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Adds a single arc to the path geometry</summary>
      <param name="arc">The arc segment to add to the figure</param>
    </member>
    <member name="M:CD2DGeometrySink.EndFigure(D2D1_FIGURE_END)">
      <summary>
Ends the current figure; optionally, closes it.</summary>
      <param name="figureEnd">A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure.</param>
    </member>
    <member name="M:CD2DGeometrySink.BeginFigure(CD2DPointF,D2D1_FIGURE_BEGIN)">
      <summary>
Starts a new figure at the specified point.</summary>
      <param name="startPoint">The point at which to begin the new figure.</param>
      <param name="figureBegin">Whether the new figure should be hollow or filled.</param>
    </member>
    <member name="M:CD2DGeometrySink.op_Implicit~ID2D1GeometrySink*">
      <summary>
Returns ID2D1GeometrySink interface</summary>
      <returns> 
Pointer to an ID2D1GeometrySink interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DGeometrySink.Get">
      <summary>
Returns ID2D1GeometrySink interface</summary>
      <returns> 
Pointer to an ID2D1GeometrySink interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DGeometrySink.IsValid">
      <summary>
Checks geometry sink validity</summary>
      <returns> 
TRUE if geometry sink is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DGeometrySink.Dispose">
      <summary>
The destructor. Called when a D2D geometry sink object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DGeometrySink.#ctor(CD2DPathGeometry*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DGeometrySink object from CD2DPathGeometry object.</summary>
      <param name="pathGeometry">An existing CD2DPathGeometry object.</param>
    </member>
    <member name="T:CD2DGeometrySink">
      <summary>
ID2D1GeometrySink wrapper.
</summary>
    </member>
    <member name="F:CD2DPathGeometry.m_pPathGeometry">
      <summary>
A pointer to an ID2D1PathGeometry.
</summary>
    </member>
    <member name="M:CD2DPathGeometry.GetFigureCount">
      <summary>
Retrieves tthe number of figures in the path geometry.</summary>
      <returns> 
Returns the number of figures in the path geometry.</returns>
    </member>
    <member name="M:CD2DPathGeometry.GetSegmentCount">
      <summary>
Retrieves the number of segments in the path geometry.</summary>
      <returns> 
Returns the number of segments in the path geometry.</returns>
    </member>
    <member name="M:CD2DPathGeometry.Stream(ID2D1GeometrySink*)">
      <summary>
Copies the contents of the path geometry to the specified ID2D1GeometrySink.</summary>
      <returns>
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="geometrySink">The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry.</param>
    </member>
    <member name="M:CD2DPathGeometry.Open">
      <summary>
Retrieves the geometry sink that is used to populate the path geometry with figures and segments.</summary>
      <returns>
A pointer to the ID2D1GeometrySink that is used to populate the path geometry with figures and segments.</returns>
    </member>
    <member name="M:CD2DPathGeometry.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DPathGeometry.Attach(ID2D1PathGeometry*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DPathGeometry.Destroy">
      <summary>
Destroys a CD2DPathGeometry object.</summary>
    </member>
    <member name="M:CD2DPathGeometry.Create(CRenderTarget*)">
      <summary>
Creates a CD2DPathGeometry.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DPathGeometry.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DPathGeometry object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DPathGeometry">
      <summary>
ID2D1PathGeometry wrapper.
</summary>
    </member>
    <member name="F:CD2DGeometry.m_pGeometry">
      <summary>
A pointer to an ID2D1Geometry.
</summary>
    </member>
    <member name="M:CD2DGeometry.Widen(System.Single,ID2D1StrokeStyle*,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,ID2D1SimplifiedGeometrySink*,System.Single)">
      <summary>
Widens the geometry by the specified stroke and writes the result to an ID2D1SimplifiedGeometrySink after it has been transformed by the specified matrix and flattened using the specified tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="strokeWidth">The amount by which to widen the geometry.</param>
      <param name="strokeStyle">The style of stroke to apply to the geometry, or NULL.</param>
      <param name="worldTransform">The transform to apply to the geometry after widening it.</param>
      <param name="geometrySink">The ID2D1SimplifiedGeometrySink to which the widened geometry is appended.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.Tessellate(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,ID2D1TessellationSink*,System.Single)">
      <summary>
Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="worldTransform">The transform to apply to this geometry, or NULL.</param>
      <param name="tessellationSink">The ID2D1TessellationSink to which the tessellated is appended.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.Simplify(D2D1_GEOMETRY_SIMPLIFICATION_OPTION,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,ID2D1SimplifiedGeometrySink*,System.Single)">
      <summary>
Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an ID2D1SimplifiedGeometrySink.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="simplificationOption">A value that specifies whether the simplified geometry should contain curves.</param>
      <param name="worldTransform">The transform to apply to the simplified geometry.</param>
      <param name="geometrySink">The ID2D1SimplifiedGeometrySink to which the simplified geometry is appended.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.Outline(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,ID2D1SimplifiedGeometrySink*,System.Single)">
      <summary>
Computes the outline of the geometry and writes the result to an ID2D1SimplifiedGeometrySink.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="worldTransform">The transform to apply to the geometry outline.</param>
      <param name="geometrySink">The ID2D1SimplifiedGeometrySink to which the geometry transformed outline is appended.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.StrokeContainsPoint(CD2DPointF,System.Single,ID2D1StrokeStyle*,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*,System.Single)">
      <summary>
Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="point">The point to test for containment.</param>
      <param name="strokeWidth">The thickness of the stroke to apply.</param>
      <param name="strokeStyle">The style of the stroke to apply.</param>
      <param name="worldTransform">The transform to apply to the stroked geometry.</param>
      <param name="contains">When this method returns, contains a boolean value set to TRUE if the geometry's stroke contains the specified point; otherwise, FALSE. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.FillContainsPoint(CD2DPointF,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32*,System.Single)">
      <summary>
Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="point">The point to test.</param>
      <param name="worldTransform">The transform to apply to the geometry prior to testing for containment.</param>
      <param name="contains">When this method returns, contains a bool value that is TRUE if the area filled by the geometry contains point; otherwise, FALSE. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.GetWidenedBounds(System.Single,ID2D1StrokeStyle*,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DRectF*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single)">
      <summary>
Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="strokeWidth">The amount by which to widen the geometry by stroking its outline.</param>
      <param name="strokeStyle">The style of the stroke that widens the geometry.</param>
      <param name="worldTransform">A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked.</param>
      <param name="bounds">When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.GetBounds(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DRectF*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Retrieves the bounds of the geometry.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="worldTransform">The transform to apply to this geometry before calculating its bounds.</param>
      <param name="bounds">When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left is greater than bounds.right. You must allocate storage for this parameter.</param>
    </member>
    <member name="M:CD2DGeometry.ComputePointAtLength(System.Single,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DPointF*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DPointF*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single)">
      <summary>
Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="length">The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry.</param>
      <param name="worldTransform">The transform to apply to the geometry before calculating the specified point and tangent.</param>
      <param name="point">The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values.</param>
      <param name="unitTangentVector">When this method returns, contains a pointer to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.ComputeLength(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single)">
      <summary>
Calculates the length of the geometry as though each segment were unrolled into a line.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="worldTransform">The transform to apply to the geometry before calculating its length.</param>
      <param name="length">When this method returns, contains a pointer to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.ComputeArea(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single)">
      <summary>
Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="worldTransform">The transform to apply to this geometry before computing its area.</param>
      <param name="area">When this method returns, contains a pointer to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.CompareWithGeometry(CD2DGeometry*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single)">
      <summary>
Describes the intersection between this geometry and the specified geometry. The comparison is performed using the specified flattening tolerance.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="inputGeometry">The geometry to test.</param>
      <param name="inputGeometryTransform">The transform to apply to inputGeometry.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. </param>
    </member>
    <member name="M:CD2DGeometry.CombineWithGeometry(CD2DGeometry*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,D2D1_COMBINE_MODE,D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,ID2D1SimplifiedGeometrySink*,System.Single)">
      <summary>
Combines this geometry with the specified geometry and stores the result in an ID2D1SimplifiedGeometrySink.</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE.</returns>
      <param name="inputGeometry">The geometry to combine with this instance.</param>
      <param name="combineMode">The type of combine operation to perform.</param>
      <param name="inputGeometryTransform">The transform to apply to inputGeometry before combining.</param>
      <param name="geometrySink">The result of the combine operation.</param>
      <param name="flatteningTolerance">The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution.</param>
    </member>
    <member name="M:CD2DGeometry.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DGeometry.Destroy">
      <summary>
Destroys a CD2DGeometry object.</summary>
    </member>
    <member name="M:CD2DGeometry.op_Implicit~ID2D1Geometry*">
      <summary>
Returns ID2D1Geometry interface</summary>
      <returns> 
Pointer to an ID2D1Geometry interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DGeometry.Get">
      <summary>
Returns ID2D1Geometry interface</summary>
      <returns> 
Pointer to an ID2D1Geometry interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DGeometry.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DGeometry.Attach(ID2D1Geometry*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DGeometry.Dispose">
      <summary>
The destructor. Called when a D2D geometry object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DGeometry.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DGeometry object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DGeometry">
      <summary>
ID2D1Geometry wrapper.
</summary>
    </member>
    <member name="F:CD2DTextLayout.m_pTextLayout">
      <summary>
A pointer to an IDWriteTextLayout.
</summary>
    </member>
    <member name="M:CD2DTextLayout.GetLocaleName(System.UInt32,DWRITE_TEXT_RANGE*)">
      <summary>
Gets the locale name of the text at the specified position.</summary>
      <returns>
CString object that contains the current locale name.</returns>
      <param name="currentPosition">The position of the text to inspect.</param>
      <param name="textRange">The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name.</param>
    </member>
    <member name="M:CD2DTextLayout.GetFontFamilyName(System.UInt32,DWRITE_TEXT_RANGE*)">
      <summary>
Copies the font family name of the text at the specified position.</summary>
      <returns>
CString object that contains the current font family name.</returns>
      <param name="currentPosition">The position of the text to examine.</param>
      <param name="textRange">The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name.</param>
    </member>
    <member name="M:CD2DTextLayout.SetLocaleName(System.Char!System.Runtime.CompilerServices.IsConst*,DWRITE_TEXT_RANGE)">
      <summary>
Sets the locale name for text within a specified text range</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE</returns>
      <param name="pwzLocaleName">A null-terminated locale name string</param>
      <param name="textRange">Text range to which this change applies</param>
    </member>
    <member name="M:CD2DTextLayout.SetFontFamilyName(System.Char!System.Runtime.CompilerServices.IsConst*,DWRITE_TEXT_RANGE)">
      <summary>
Sets null-terminated font family name for text within a specified text range</summary>
      <returns> 
If the method succeeds, it returns TRUE. Otherwise, it returns FALSE</returns>
      <param name="pwzFontFamilyName">The font family name that applies to the entire text string within the range specified by textRange</param>
      <param name="textRange">Text range to which this change applies</param>
    </member>
    <member name="M:CD2DTextLayout.op_Implicit~IDWriteTextLayout*">
      <summary>
Returns IDWriteTextLayout interface</summary>
      <returns>
Pointer to an IDWriteTextLayout interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DTextLayout.Get">
      <summary>
Returns IDWriteTextLayout interface</summary>
      <returns>
Pointer to an IDWriteTextLayout interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DTextLayout.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DTextLayout.Destroy">
      <summary>
Destroys a CD2DTextLayout object.</summary>
    </member>
    <member name="M:CD2DTextLayout.Create(CRenderTarget*)">
      <summary>
Creates a CD2DTextLayout.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DTextLayout.ReCreate(CRenderTarget*)">
      <summary>
Re-creates a CD2DTextLayout.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DTextLayout.Dispose">
      <summary>
The destructor. Called when a D2D text layout object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DTextLayout.#ctor(CRenderTarget*,ATL.CStringT&lt;System.Char,StrTraitMFC_DLL&lt;System.Char,ATL.ChTraitsCRT{System.Char}&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DTextFormat*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DSizeF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Int32)">
      <summary>
Constructs a CD2DTextLayout object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="strText">A CString object that contains the string to create a new CD2DTextLayout object from.</param>
      <param name="textFormat">A CString object that contains the format to apply to the string.</param>
      <param name="sizeMax">The size of the layout box.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DTextLayout">
      <summary>
IDWriteTextLayout wrapper.
</summary>
    </member>
    <member name="F:CD2DTextFormat.m_pTextFormat">
      <summary>
A pointer to an IDWriteTextFormat.
</summary>
    </member>
    <member name="M:CD2DTextFormat.GetLocaleName">
      <summary>
Gets a copy of the locale name.</summary>
      <returns>
CString object that contains the current locale name.</returns>
    </member>
    <member name="M:CD2DTextFormat.GetFontFamilyName">
      <summary>
Gets a copy of the font family name.</summary>
      <returns>
CString object that contains the current font family name.</returns>
    </member>
    <member name="M:CD2DTextFormat.op_Implicit~IDWriteTextFormat*">
      <summary>
Returns IDWriteTextFormat interface</summary>
      <returns>
Pointer to an IDWriteTextFormat interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DTextFormat.Get">
      <summary>
Returns IDWriteTextFormat interface</summary>
      <returns> 
Pointer to an IDWriteTextFormat interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DTextFormat.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DTextFormat.Destroy">
      <summary>
Destroys a CD2DTextFormat object.</summary>
    </member>
    <member name="M:CD2DTextFormat.Create(CRenderTarget*)">
      <summary>
Creates a CD2DTextFormat.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DTextFormat.ReCreate(CRenderTarget*)">
      <summary>
Re-creates a CD2DTextFormat.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DTextFormat.Dispose">
      <summary>
The destructor. Called when a D2D text format object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DTextFormat.#ctor(CRenderTarget*,ATL.CStringT&lt;System.Char,StrTraitMFC_DLL&lt;System.Char,ATL.ChTraitsCRT{System.Char}&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Single,DWRITE_FONT_WEIGHT,DWRITE_FONT_STYLE,DWRITE_FONT_STRETCH,ATL.CStringT&lt;System.Char,StrTraitMFC_DLL&lt;System.Char,ATL.ChTraitsCRT{System.Char}&gt;&gt;!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,IDWriteFontCollection*,System.Int32)">
      <summary>
Constructs a CD2DTextFormat object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="strFontFamilyName">A CString object that contains the name of the font family.</param>
      <param name="fontSize">The logical size of the font in DIP ("device-independent pixel") units. A DIPequals 1/96 inch.</param>
      <param name="fontWeight">A value that indicates the font weight for the text object.</param>
      <param name="fontStyle">A value that indicates the font style for the text object.</param>
      <param name="fontStretch">A value that indicates the font stretch for the text object.</param>
      <param name="strFontLocale">A CString object that contains the locale name.</param>
      <param name="pFontCollection">A pointer to a font collection object. When this is NULL, indicates the system font collection.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DTextFormat">
      <summary>
IDWriteTextFormat wrapper.
</summary>
    </member>
    <member name="F:CD2DRadialGradientBrush.m_pRadialGradientBrush">
      <summary>
A pointer to an ID2D1RadialGradientBrush.
</summary>
    </member>
    <member name="F:CD2DRadialGradientBrush.m_RadialGradientBrushProperties">
      <summary>
The center, gradient origin offset, and x-radius and y-radius of the brush's gradient.
</summary>
    </member>
    <member name="M:CD2DRadialGradientBrush.GetRadiusY">
      <summary>
Retrieves the y-radius of the gradient ellipse</summary>
      <returns> 
The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.GetRadiusX">
      <summary>
Retrieves the x-radius of the gradient ellipse</summary>
      <returns> 
The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.GetGradientOriginOffset">
      <summary>
Retrieves the offset of the gradient origin relative to the gradient ellipse's center</summary>
      <returns> 
The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.GetCenter">
      <summary>
Retrieves the center of the gradient ellipse</summary>
      <returns> 
The center of the gradient ellipse. This value is expressed in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.SetRadiusY(System.Single)">
      <summary>
Specifies the y-radius of the gradient ellipse, in the brush's coordinate space</summary>
      <param name="radiusY">The y-radius of the gradient ellipse. This value is in the brush's coordinate space</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.SetRadiusX(System.Single)">
      <summary>
Specifies the x-radius of the gradient ellipse, in the brush's coordinate space</summary>
      <param name="radiusX">The x-radius of the gradient ellipse. This value is in the brush's coordinate space</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.SetGradientOriginOffset(CD2DPointF)">
      <summary>
Specifies the offset of the gradient origin relative to the gradient ellipse's center</summary>
      <param name="gradientOriginOffset">The offset of the gradient origin from the center of the gradient ellipse</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.SetCenter(CD2DPointF)">
      <summary>
Specifies the center of the gradient ellipse in the brush's coordinate space</summary>
      <param name="point">The center of the gradient ellipse, in the brush's coordinate space</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.op_Implicit~ID2D1RadialGradientBrush*">
      <summary>
Returns ID2D1RadialGradientBrush interface</summary>
      <returns> 
Pointer to an ID2D1RadialGradientBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.Get">
      <summary>
Returns ID2D1RadialGradientBrush interface</summary>
      <returns> 
Pointer to an ID2D1RadialGradientBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DRadialGradientBrush.Attach(ID2D1RadialGradientBrush*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.Destroy">
      <summary>
Destroys a CD2DRadialGradientBrush object.</summary>
    </member>
    <member name="M:CD2DRadialGradientBrush.Create(CRenderTarget*)">
      <summary>
Creates a CD2DRadialGradientBrush.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DRadialGradientBrush.Dispose">
      <summary>
The destructor. Called when a D2D radial gradient brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DRadialGradientBrush.#ctor(CRenderTarget*,D2D1_GRADIENT_STOP!System.Runtime.CompilerServices.IsConst*,System.UInt32,D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES,D2D1_GAMMA,D2D1_EXTEND_MODE,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DLinearGradientBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="gradientStops">A pointer to an array of D2D1_GRADIENT_STOP structures.</param>
      <param name="gradientStopsCount">A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array.</param>
      <param name="RadialGradientBrushProperties">The center, gradient origin offset, and x-radius and y-radius of the brush's gradient.</param>
      <param name="colorInterpolationGamma">The space in which color interpolation between the gradient stops is performed.</param>
      <param name="extendMode">The behavior of the gradient outside the [0,1] normalized range.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DRadialGradientBrush">
      <summary>
ID2D1RadialGradientBrush wrapper.
</summary>
    </member>
    <member name="F:CD2DLinearGradientBrush.m_pLinearGradientBrush">
      <summary>
A pointer to an ID2D1LinearGradientBrush.
</summary>
    </member>
    <member name="F:CD2DLinearGradientBrush.m_LinearGradientBrushProperties">
      <summary>
The start and end points of the gradient.
</summary>
    </member>
    <member name="M:CD2DLinearGradientBrush.GetEndPoint">
      <summary>
Retrieves the ending coordinates of the linear gradient</summary>
      <returns> 
The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DLinearGradientBrush.GetStartPoint">
      <summary>
Retrieves the starting coordinates of the linear gradient</summary>
      <returns> 
The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space</returns>
    </member>
    <member name="M:CD2DLinearGradientBrush.SetEndPoint(CD2DPointF)">
      <summary>
Sets the ending coordinates of the linear gradient in the brush's coordinate space</summary>
      <param name="point">The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space</param>
    </member>
    <member name="M:CD2DLinearGradientBrush.SetStartPoint(CD2DPointF)">
      <summary>
Sets the starting coordinates of the linear gradient in the brush's coordinate space</summary>
      <param name="point">The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space</param>
    </member>
    <member name="M:CD2DLinearGradientBrush.op_Implicit~ID2D1LinearGradientBrush*">
      <summary>
Returns ID2D1LinearGradientBrush interface</summary>
      <returns> 
Pointer to an ID2D1LinearGradientBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DLinearGradientBrush.Get">
      <summary>
Returns ID2D1LinearGradientBrush interface</summary>
      <returns> 
Pointer to an ID2D1LinearGradientBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DLinearGradientBrush.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DLinearGradientBrush.Attach(ID2D1LinearGradientBrush*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DLinearGradientBrush.Destroy">
      <summary>
Destroys a CD2DLinearGradientBrush object.</summary>
    </member>
    <member name="M:CD2DLinearGradientBrush.Create(CRenderTarget*)">
      <summary>
Creates a CD2DLinearGradientBrush.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DLinearGradientBrush.Dispose">
      <summary>
The destructor. Called when a D2D linear gradient brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DLinearGradientBrush.#ctor(CRenderTarget*,D2D1_GRADIENT_STOP!System.Runtime.CompilerServices.IsConst*,System.UInt32,D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES,D2D1_GAMMA,D2D1_EXTEND_MODE,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DLinearGradientBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="gradientStops">A pointer to an array of D2D1_GRADIENT_STOP structures.</param>
      <param name="gradientStopsCount">A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array.</param>
      <param name="LinearGradientBrushProperties">The start and end points of the gradient.</param>
      <param name="colorInterpolationGamma">The space in which color interpolation between the gradient stops is performed.</param>
      <param name="extendMode">The behavior of the gradient outside the [0,1] normalized range.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DLinearGradientBrush">
      <summary>
ID2D1LinearGradientBrush wrapper.
</summary>
    </member>
    <member name="F:CD2DGradientBrush.m_pGradientStops">
      <summary>
A pointer to an array of D2D1_GRADIENT_STOP structures.
</summary>
    </member>
    <member name="F:CD2DGradientBrush.m_extendMode">
      <summary>
The behavior of the gradient outside the [0,1] normalized range.
</summary>
    </member>
    <member name="F:CD2DGradientBrush.m_colorInterpolationGamma">
      <summary>
The space in which color interpolation between the gradient stops is performed.
</summary>
    </member>
    <member name="F:CD2DGradientBrush.m_arGradientStops">
      <summary>
Array of the D2D1_GRADIENT_STOP structures.
</summary>
    </member>
    <member name="M:CD2DGradientBrush.Destroy">
      <summary>
Destroys a CD2DGradientBrush object.</summary>
    </member>
    <member name="M:CD2DGradientBrush.Dispose">
      <summary>
The destructor. Called when a D2D gradient brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DGradientBrush.#ctor(CRenderTarget*,D2D1_GRADIENT_STOP!System.Runtime.CompilerServices.IsConst*,System.UInt32,D2D1_GAMMA,D2D1_EXTEND_MODE,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DGradientBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="gradientStops">A pointer to an array of D2D1_GRADIENT_STOP structures.</param>
      <param name="gradientStopsCount">A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array.</param>
      <param name="colorInterpolationGamma">The space in which color interpolation between the gradient stops is performed.</param>
      <param name="extendMode">The behavior of the gradient outside the [0,1] normalized range.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DGradientBrush">
      <summary>
The base class of CD2DLinearGradientBrush and CD2DRadialGradientBrush classes.
</summary>
    </member>
    <member name="F:CD2DBitmapBrush.m_pBitmapBrushProperties">
      <summary>
Bitmap brush properties.
</summary>
    </member>
    <member name="F:CD2DBitmapBrush.m_pBitmapBrush">
      <summary>
Stores a pointer to an ID2D1BitmapBrush object.
</summary>
    </member>
    <member name="F:CD2DBitmapBrush.m_pBitmap">
      <summary>
Stores a pointer to a CD2DBitmap object.
</summary>
    </member>
    <member name="M:CD2DBitmapBrush.CommonInit(D2D1_BITMAP_BRUSH_PROPERTIES*)">
      <summary>
Initializes the object</summary>
      <param name="pBitmapBrushProperties">A pointer to the bitmap brush properties.</param>
    </member>
    <member name="M:CD2DBitmapBrush.Destroy">
      <summary>
Destroys a CD2DBitmapBrush object.</summary>
    </member>
    <member name="M:CD2DBitmapBrush.Create(CRenderTarget*)">
      <summary>
Creates a CD2DBitmapBrush.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DBitmapBrush.GetInterpolationMode">
      <summary>
Gets the interpolation method used when the brush bitmap is scaled or rotated</summary>
      <returns> 
The interpolation method used when the brush bitmap is scaled or rotated</returns>
    </member>
    <member name="M:CD2DBitmapBrush.GetExtendModeY">
      <summary>
Gets the method by which the brush vertically tiles those areas that extend past its bitmap</summary>
      <returns> 
A value that specifies how the brush vertically tiles those areas that extend past its bitmap</returns>
    </member>
    <member name="M:CD2DBitmapBrush.GetExtendModeX">
      <summary>
Gets the method by which the brush horizontally tiles those areas that extend past its bitmap</summary>
      <returns> 
A value that specifies how the brush horizontally tiles those areas that extend past its bitmap</returns>
    </member>
    <member name="M:CD2DBitmapBrush.SetBitmap(CD2DBitmap*)">
      <summary>
Specifies the bitmap source that this brush uses to paint</summary>
      <param name="pBitmap">The bitmap source used by the brush</param>
    </member>
    <member name="M:CD2DBitmapBrush.SetInterpolationMode(D2D1_BITMAP_INTERPOLATION_MODE)">
      <summary>
Specifies the interpolation mode used when the brush bitmap is scaled or rotated</summary>
      <param name="interpolationMode">The interpolation mode used when the brush bitmap is scaled or rotated</param>
    </member>
    <member name="M:CD2DBitmapBrush.SetExtendModeY(D2D1_EXTEND_MODE)">
      <summary>
Specifies how the brush vertically tiles those areas that extend past its bitmap</summary>
      <param name="extendModeY">A value that specifies how the brush vertically tiles those areas that extend past its bitmap</param>
    </member>
    <member name="M:CD2DBitmapBrush.SetExtendModeX(D2D1_EXTEND_MODE)">
      <summary>
Specifies how the brush horizontally tiles those areas that extend past its bitmap</summary>
      <param name="extendModeX">A value that specifies how the brush horizontally tiles those areas that extend past its bitmap</param>
    </member>
    <member name="M:CD2DBitmapBrush.GetBitmap">
      <summary>
Gets the bitmap source that this brush uses to paint</summary>
      <returns> 
Pointer to an CD2DBitmap object or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBitmapBrush.op_Implicit~ID2D1BitmapBrush*">
      <summary>
Returns ID2D1BitmapBrush interface</summary>
      <returns> 
Pointer to an ID2D1BitmapBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBitmapBrush.Get">
      <summary>
Returns ID2D1BitmapBrush interface</summary>
      <returns> 
Pointer to an ID2D1BitmapBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBitmapBrush.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DBitmapBrush.Attach(ID2D1BitmapBrush*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DBitmapBrush.Dispose">
      <summary>
The destructor. Called when a D2D bitmap brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DBitmapBrush.#ctor(CRenderTarget*,System.Char!System.Runtime.CompilerServices.IsConst*,CD2DSizeU,D2D1_BITMAP_BRUSH_PROPERTIES*,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DBitmapBrush object from file.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="lpszImagePath">Pointer to a null-terminated string that contains the name of file.</param>
      <param name="sizeDest">Destination size of the bitmap.</param>
      <param name="pBitmapBrushProperties">A pointer to the extend modes and the interpolation mode of a bitmap brush.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DBitmapBrush.#ctor(CRenderTarget*,System.UInt32,System.Char!System.Runtime.CompilerServices.IsConst*,CD2DSizeU,D2D1_BITMAP_BRUSH_PROPERTIES*,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DBitmapBrush object from resource.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="uiResID">The resource ID number of the resource.</param>
      <param name="lpszType">Pointer to a null-terminated string that contains the resource type.</param>
      <param name="sizeDest">Destination size of the bitmap.</param>
      <param name="pBitmapBrushProperties">A pointer to the extend modes and the interpolation mode of a bitmap brush.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DBitmapBrush.#ctor(CRenderTarget*,D2D1_BITMAP_BRUSH_PROPERTIES*,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DBitmapBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="pBitmapBrushProperties">A pointer to the extend modes and the interpolation mode of a bitmap brush.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DBitmapBrush">
      <summary>
ID2D1BitmapBrush wrapper.
</summary>
    </member>
    <member name="F:CD2DSolidColorBrush.m_colorSolid">
      <summary>
Brush solid color.
</summary>
    </member>
    <member name="F:CD2DSolidColorBrush.m_pSolidColorBrush">
      <summary>
Stores a pointer to an ID2D1SolidColorBrush object.
</summary>
    </member>
    <member name="M:CD2DSolidColorBrush.Destroy">
      <summary>
Destroys a CD2DSolidColorBrush object.</summary>
    </member>
    <member name="M:CD2DSolidColorBrush.Create(CRenderTarget*)">
      <summary>
Creates a CD2DSolidColorBrush.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DSolidColorBrush.GetColor">
      <summary>
Retrieves the color of the solid color brush</summary>
      <returns> 
The color of this solid color brush</returns>
    </member>
    <member name="M:CD2DSolidColorBrush.SetColor(_D3DCOLORVALUE)">
      <summary>
Specifies the color of this solid color brush</summary>
      <param name="color">The color of this solid color brush</param>
    </member>
    <member name="M:CD2DSolidColorBrush.op_Implicit~ID2D1SolidColorBrush*">
      <summary>
Returns ID2D1SolidColorBrush interface</summary>
      <returns> 
Pointer to an ID2D1SolidColorBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DSolidColorBrush.Get">
      <summary>
Returns ID2D1SolidColorBrush interface</summary>
      <returns> 
Pointer to an ID2D1SolidColorBrush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DSolidColorBrush.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DSolidColorBrush.Attach(ID2D1SolidColorBrush*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DSolidColorBrush.Dispose">
      <summary>
The destructor. Called when a D2D solid brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DSolidColorBrush.#ctor(CRenderTarget*,System.UInt32!System.Runtime.CompilerServices.IsLong,System.Int32,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DSolidColorBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="color">The red, green, and blue values of the brush's color.</param>
      <param name="nAlpha">The opacity of the brush's color.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DSolidColorBrush.#ctor(CRenderTarget*,_D3DCOLORVALUE,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DSolidColorBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="color">The red, green, blue, and alpha values of the brush's color.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DSolidColorBrush">
      <summary>
ID2D1SolidColorBrush wrapper.
</summary>
    </member>
    <member name="F:CD2DBrush.m_pBrushProperties">
      <summary>
Brush properties.
</summary>
    </member>
    <member name="F:CD2DBrush.m_pBrush">
      <summary>
Stores a pointer to an ID2D1Brush object.
</summary>
    </member>
    <member name="M:CD2DBrush.GetTransform(D2D_MATRIX_3X2_F*)">
      <summary>
Gets the current transform of the render target</summary>
      <param name="transform">When this returns, contains the current transform of the render target. This parameter is passed uninitialized</param>
    </member>
    <member name="M:CD2DBrush.SetTransform(D2D_MATRIX_3X2_F!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space</summary>
      <param name="transform">The transform to apply to the render target</param>
    </member>
    <member name="M:CD2DBrush.GetOpacity">
      <summary>
Gets the degree of opacity of this brush</summary>
      <returns> 
A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0 to 1 before they are multiplied together</returns>
    </member>
    <member name="M:CD2DBrush.SetOpacity(System.Single)">
      <summary>
Sets the degree of opacity of this brush</summary>
      <param name="opacity">A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0 to 1 before they are multiplied together</param>
    </member>
    <member name="M:CD2DBrush.Destroy">
      <summary>
Destroys a CD2DBrush object.</summary>
    </member>
    <member name="M:CD2DBrush.op_Implicit~ID2D1Brush*">
      <summary>
Returns ID2D1Brush interface</summary>
      <returns> 
Pointer to an ID2D1Brush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBrush.Get">
      <summary>
Returns ID2D1Brush interface</summary>
      <returns> 
Pointer to an ID2D1Brush interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBrush.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DBrush.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DBrush.Attach(ID2D1Brush*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DBrush.Dispose">
      <summary>
The destructor. Called when a D2D brush object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DBrush.#ctor(CRenderTarget*,CD2DBrushProperties*,System.Int32)">
      <summary>
Constructs a CD2DBrush object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="pBrushProperties">A pointer to the opacity and transformation of a brush.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DBrush">
      <summary>
ID2D1Brush wrapper.
</summary>
    </member>
    <member name="M:CD2DBrushProperties.CommonInit">
      <summary>
Initializes the object</summary>
    </member>
    <member name="M:CD2DBrushProperties.#ctor(D2D_MATRIX_3X2_F,System.Single)">
      <summary>
Creates a CD2D_BRUSH_PROPERTIES structure</summary>
      <param name="_transform">The transformation to apply to the brush</param>
      <param name="_opacity">The base opacity of the brush. The default value is 1.0.</param>
    </member>
    <member name="M:CD2DBrushProperties.#ctor(System.Single)">
      <summary>
Creates a CD2D_BRUSH_PROPERTIES structure</summary>
      <param name="_opacity">The base opacity of the brush. The default value is 1.0.</param>
    </member>
    <member name="M:CD2DBrushProperties.#ctor">
      <summary>
Creates a CD2D_BRUSH_PROPERTIES structure</summary>
    </member>
    <member name="T:CD2DBrushProperties">
      <summary>
D2D1_BRUSH_PROPERTIES wrapper.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_bAutoDestroyHBMP">
      <summary>
TRUE if m_hBmpSrc should be destroyed; otherwise FALSE.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_hBmpSrc">
      <summary>
Source bitmap handle.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_sizeDest">
      <summary>
Bitmap destination size.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_strPath">
      <summary>
Botmap file path.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_lpszType">
      <summary>
Resource type.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_uiResID">
      <summary>
Bitmap resource ID.
</summary>
    </member>
    <member name="F:CD2DBitmap.m_pBitmap">
      <summary>
Stores a pointer to an ID2D1Bitmap object.
</summary>
    </member>
    <member name="M:CD2DBitmap.Destroy">
      <summary>
Destroys a CD2DBitmap object.</summary>
    </member>
    <member name="M:CD2DBitmap.Create(CRenderTarget*)">
      <summary>
Creates a CD2DBitmap.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DBitmap.CommonInit">
      <summary>
Initializes the object</summary>
    </member>
    <member name="M:CD2DBitmap.op_Implicit~ID2D1Bitmap*">
      <summary>
Returns ID2D1Bitmap interface</summary>
      <returns> 
Pointer to an ID2D1Bitmap interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBitmap.Get">
      <summary>
Returns ID2D1Bitmap interface</summary>
      <returns> 
Pointer to an ID2D1Bitmap interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DBitmap.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DBitmap.CopyFromMemory(System.Void!System.Runtime.CompilerServices.IsConst*,System.UInt32,CD2DRectU!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Copies the specified region from memory into the current bitmap</summary>
      <returns> 
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="srcData">The data to copy</param>
      <param name="pitch">The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding</param>
      <param name="destRect">In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied</param>
    </member>
    <member name="M:CD2DBitmap.CopyFromRenderTarget(CRenderTarget!System.Runtime.CompilerServices.IsConst*,CD2DPointU!System.Runtime.CompilerServices.IsConst*,CD2DRectU!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Copies the specified region from the specified render target into the current bitmap</summary>
      <returns> 
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">The render target that contains the region to copy</param>
      <param name="destPoint">In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied</param>
      <param name="srcRect">The area of renderTarget to copy</param>
    </member>
    <member name="M:CD2DBitmap.CopyFromBitmap(CD2DBitmap!System.Runtime.CompilerServices.IsConst*,CD2DPointU!System.Runtime.CompilerServices.IsConst*,CD2DRectU!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Copies the specified region from the specified bitmap into the current bitmap</summary>
      <returns> 
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pBitmap">The bitmap to copy from</param>
      <param name="destPoint">In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied</param>
      <param name="srcRect">The area of bitmap to copy</param>
    </member>
    <member name="M:CD2DBitmap.GetDPI">
      <summary>
Return the dots per inch (DPI) of the bitmap</summary>
      <returns> 
The horizontal and vertical DPI of the bitmap.</returns>
    </member>
    <member name="M:CD2DBitmap.GetPixelFormat">
      <summary>
Retrieves the pixel format and alpha mode of the bitmap</summary>
      <returns> 
The pixel format and alpha mode of the bitmap.</returns>
    </member>
    <member name="M:CD2DBitmap.GetPixelSize">
      <summary>
Returns the size, in device-dependent units (pixels), of the bitmap</summary>
      <returns> 
The size, in pixels, of the bitmap..</returns>
    </member>
    <member name="M:CD2DBitmap.GetSize">
      <summary>
Returns the size, in device-independent pixels (DIPs), of the bitmap</summary>
      <returns> 
The size, in DIPs, of the bitmap.</returns>
    </member>
    <member name="M:CD2DBitmap.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DBitmap.Attach(ID2D1Bitmap*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DBitmap.Dispose">
      <summary>
The destructor. Called when a D2D bitmap object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DBitmap.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DBitmap object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DBitmap.#ctor(CRenderTarget*,HBITMAP__*,CD2DSizeU,System.Int32)">
      <summary>
Constructs a CD2DBitmap object from HBITMAP.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="hbmpSrc">Handle to the bitmap.</param>
      <param name="sizeDest">Destination size of the bitmap.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DBitmap.#ctor(CRenderTarget*,System.Char!System.Runtime.CompilerServices.IsConst*,CD2DSizeU,System.Int32)">
      <summary>
Constructs a CD2DBitmap object from file.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="lpszPath">Pointer to a null-terminated string that contains the name of file.</param>
      <param name="sizeDest">Destination size of the bitmap.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="M:CD2DBitmap.#ctor(CRenderTarget*,System.UInt32,System.Char!System.Runtime.CompilerServices.IsConst*,CD2DSizeU,System.Int32)">
      <summary>
Constructs a CD2DBitmap object from resource.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="uiResID">The resource ID number of the resource.</param>
      <param name="lpszType">Pointer to a null-terminated string that contains the resource type.</param>
      <param name="sizeDest">Destination size of the bitmap.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DBitmap">
      <summary>
ID2D1Bitmap wrapper.
</summary>
    </member>
    <member name="F:CD2DLayer.m_pLayer">
      <summary>
Stores a pointer to an ID2D1Layer object.
</summary>
    </member>
    <member name="M:CD2DLayer.Destroy">
      <summary>
Destroys a CD2DLayer object.</summary>
    </member>
    <member name="M:CD2DLayer.Create(CRenderTarget*)">
      <summary>
Creates a CD2DLayer.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DLayer.Detach">
      <summary>
Detaches resource interface from the object</summary>
      <returns> 
Pointer to detached resource interface.</returns>
    </member>
    <member name="M:CD2DLayer.Attach(ID2D1Layer*)">
      <summary>
Attaches existing resource interface to the object</summary>
      <param name="pResource">Existing resource interface. Cannot be NULL</param>
    </member>
    <member name="M:CD2DLayer.op_Implicit~ID2D1Layer*">
      <summary>
Returns ID2D1Layer interface</summary>
      <returns> 
Pointer to an ID2D1Layer interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DLayer.Get">
      <summary>
Returns ID2D1Layer interface</summary>
      <returns> 
Pointer to an ID2D1Layer interface or NULL if object is not initialized yet.</returns>
    </member>
    <member name="M:CD2DLayer.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DLayer.GetSize">
      <summary>
Returns the size of the render target in device-independent pixels</summary>
      <returns> 
The current size of the render target in device-independent pixels</returns>
    </member>
    <member name="M:CD2DLayer.Dispose">
      <summary>
The destructor. Called when a D2D layer object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DLayer.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DLayer object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DLayer">
      <summary>
ID2D1Layer wrapper.
</summary>
    </member>
    <member name="F:CD2DResource.m_pParentTarget">
      <summary>
Pointer to the parent CRenderTarget)</summary>
    </member>
    <member name="F:CD2DResource.m_bIsAutoDestroy">
      <summary>
Resource will be destoyed by owner (CRenderTarget)</summary>
    </member>
    <member name="M:CD2DResource.IsValid">
      <summary>
Checks resource validity</summary>
      <returns> 
TRUE if resource is valid; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DResource.Destroy">
      <summary>
Destroys a CD2DResource object.</summary>
    </member>
    <member name="M:CD2DResource.Create(CRenderTarget*)">
      <summary>
Creates a CD2DResource.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DResource.ReCreate(CRenderTarget*)">
      <summary>
Re-creates a CD2DResource.</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.</returns>
      <param name="pRenderTarget">A pointer to the render target.</param>
    </member>
    <member name="M:CD2DResource.IsAutoDestroy">
      <summary>
Check auto destroy flag.</summary>
      <returns>
TRUE if the object will be destroyed by its owner; otherwise FALSE.</returns>
    </member>
    <member name="M:CD2DResource.Dispose">
      <summary>
The destructor. Called when a D2D resource object is being destroyed.
</summary>
    </member>
    <member name="M:CD2DResource.#ctor(CRenderTarget*,System.Int32)">
      <summary>
Constructs a CD2DResource object.</summary>
      <param name="pParentTarget">A pointer to the render target.</param>
      <param name="bAutoDestroy">Indicates that the object will be destroyed by owner (pParentTarget).</param>
    </member>
    <member name="T:CD2DResource">
      <summary>
An abstract class, which provides a interface for creating and managing D2D resources such as brushes, layers and texts.
</summary>
    </member>
    <member name="M:CD2DEllipse.#ctor(CD2DPointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DSizeF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DEllipse from CD2DPointF and CD2DSizeF objects.</summary>
      <param name="ptCenter">The center point of the ellipse.</param>
      <param name="sizeRadius">The X-radius and Y-radius of the ellipse.</param>
    </member>
    <member name="M:CD2DEllipse.#ctor(D2D1_ELLIPSE!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DEllipse object from D2D1_ELLIPSE object.</summary>
      <param name="ellipse">source ellipse</param>
    </member>
    <member name="M:CD2DEllipse.#ctor(D2D1_ELLIPSE!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DEllipse object from D2D1_ELLIPSE object.</summary>
      <param name="ellipse">source ellipse</param>
    </member>
    <member name="M:CD2DEllipse.#ctor(CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DEllipse object from CD2DRectF object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="T:CD2DEllipse">
      <summary>
D2D1_ELLIPSE wrapper
</summary>
    </member>
    <member name="M:CD2DRoundedRect.#ctor(D2D1_ROUNDED_RECT!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DRoundedRect object from D2D1_ROUNDED_RECT object.</summary>
      <param name="rectIn">source rectangle</param>
    </member>
    <member name="M:CD2DRoundedRect.#ctor(D2D1_ROUNDED_RECT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRoundedRect object from D2D1_ROUNDED_RECT object.</summary>
      <param name="rectIn">source rectangle</param>
    </member>
    <member name="M:CD2DRoundedRect.#ctor(CD2DRectF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CD2DSizeF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRoundedRect object from CD2DRectF object.</summary>
      <param name="rectIn">source rectangle</param>
      <param name="sizeRadius">radius size</param>
    </member>
    <member name="T:CD2DRoundedRect">
      <summary>
D2D1_ROUNDED_RECT wrapper
</summary>
    </member>
    <member name="M:CD2DRectU.op_Implicit~CRect">
      <summary>
Converts CD2DRectU to CRect object.</summary>
      <returns>
Current value of D2D rectangle.
</returns>
    </member>
    <member name="M:CD2DRectU.IsNull">
      <summary>
Returns a Boolean value that indicates whether an expression contains no valid data (Null).</summary>
      <returns>
TRUE if rectangle's top, left, bottom, and right values are all equal to 0; otherwise FALSE.
</returns>
    </member>
    <member name="M:CD2DRectU.#ctor(System.UInt32,System.UInt32,System.UInt32,System.UInt32)">
      <summary>
Constructs a CD2DRectU object from four UINT32 values.</summary>
      <param name="uLeft">source left coordinate</param>
      <param name="uTop">source top coordinate</param>
      <param name="uRight">source right coordinate</param>
      <param name="uBottom">source bottom coordinate</param>
    </member>
    <member name="M:CD2DRectU.#ctor(D2D_RECT_U!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DRectU object from D2D1_RECT_U object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="M:CD2DRectU.#ctor(D2D_RECT_U!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRectU object from D2D1_RECT_U object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="M:CD2DRectU.#ctor(CRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRectU object from CRect object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="T:CD2DRectU">
      <summary>
D2D1_RECT_U wrapper
</summary>
    </member>
    <member name="M:CD2DRectF.op_Implicit~CRect">
      <summary>
Converts CD2DRectF to CRect object.</summary>
      <returns>
Current value of D2D rectangle.
</returns>
    </member>
    <member name="M:CD2DRectF.IsNull">
      <summary>
Returns a Boolean value that indicates whether an expression contains no valid data (Null).</summary>
      <returns>
TRUE if rectangle's top, left, bottom, and right values are all equal to 0; otherwise FALSE.
</returns>
    </member>
    <member name="M:CD2DRectF.#ctor(System.Single,System.Single,System.Single,System.Single)">
      <summary>
Constructs a CD2DRectF object from four FLOAT values.</summary>
      <param name="fLeft">source left coordinate</param>
      <param name="fTop">source top coordinate</param>
      <param name="fRight">source right coordinate</param>
      <param name="fBottom">source bottom coordinate</param>
    </member>
    <member name="M:CD2DRectF.#ctor(D2D_RECT_F!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DRectF object from D2D1_RECT_F object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="M:CD2DRectF.#ctor(D2D_RECT_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRectF object from D2D1_RECT_F object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="M:CD2DRectF.#ctor(CRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DRectF object from CRect object.</summary>
      <param name="rect">source rectangle</param>
    </member>
    <member name="T:CD2DRectF">
      <summary>
D2D1_RECT_F wrapper
</summary>
    </member>
    <member name="M:CD2DSizeU.op_Implicit~CSize">
      <summary>
Converts CD2DSizeU to CSize object.</summary>
      <returns>
Current value of D2D size.
</returns>
    </member>
    <member name="M:CD2DSizeU.IsNull">
      <summary>
Returns a Boolean value that indicates whether an expression contains no valid data (Null).</summary>
      <returns>
TRUE if width and height are empty; otherwise FALSE.
</returns>
    </member>
    <member name="M:CD2DSizeU.#ctor(System.UInt32,System.UInt32)">
      <summary>
Constructs a CD2DSizeU object from two UINT32 values.</summary>
      <param name="cx">source width</param>
      <param name="cy">source height</param>
    </member>
    <member name="M:CD2DSizeU.#ctor(D2D_SIZE_U!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DSizeU object from D2D1_SIZE_U object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="M:CD2DSizeU.#ctor(D2D_SIZE_U!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DSizeU object from D2D1_SIZE_U object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="M:CD2DSizeU.#ctor(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DSizeU object from CSize object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="T:CD2DSizeU">
      <summary>
D2D1_SIZE_U wrapper
</summary>
    </member>
    <member name="M:CD2DSizeF.op_Implicit~CSize">
      <summary>
Converts CD2DSizeF to CSize object.</summary>
      <returns>
Current value of D2D size.
</returns>
    </member>
    <member name="M:CD2DSizeF.IsNull">
      <summary>
Returns a Boolean value that indicates whether an expression contains no valid data (Null).</summary>
      <returns>
TRUE if width and height are empty; otherwise FALSE.
</returns>
    </member>
    <member name="M:CD2DSizeF.#ctor(System.Single,System.Single)">
      <summary>
Constructs a CD2DSizeF object from two FLOAT values.</summary>
      <param name="cx">source width</param>
      <param name="cy">source height</param>
    </member>
    <member name="M:CD2DSizeF.#ctor(D2D_SIZE_F!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DSizeF object from D2D1_SIZE_F object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="M:CD2DSizeF.#ctor(D2D_SIZE_F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DSizeF object from D2D1_SIZE_F object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="M:CD2DSizeF.#ctor(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DSizeF object from CSize object.</summary>
      <param name="size">source size</param>
    </member>
    <member name="T:CD2DSizeF">
      <summary>
D2D1_SIZE_F wrapper
</summary>
    </member>
    <member name="M:CD2DPointU.op_Implicit~CPoint">
      <summary>
Converts CD2DPointU to CPoint object.</summary>
      <returns>
Current value of D2D point.
</returns>
    </member>
    <member name="M:CD2DPointU.#ctor(System.UInt32,System.UInt32)">
      <summary>
Constructs a CD2DPointU object from two UINT32 values.</summary>
      <param name="uX">source X</param>
      <param name="uY">source Y</param>
    </member>
    <member name="M:CD2DPointU.#ctor(D2D_POINT_2U!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DPointU from object D2D1_POINT_2U object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="M:CD2DPointU.#ctor(D2D_POINT_2U!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DPointU from object D2D1_POINT_2U object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="M:CD2DPointU.#ctor(CPoint!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DPointU object from CPoint object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="T:CD2DPointU">
      <summary>
D2D1_POINT_2U wrapper
</summary>
    </member>
    <member name="M:CD2DPointF.op_Implicit~CPoint">
      <summary>
Converts CD2DPointF to CPoint object.</summary>
      <returns>
Current value of D2D point.
</returns>
    </member>
    <member name="M:CD2DPointF.#ctor(System.Single,System.Single)">
      <summary>
Constructs a CD2DPointF object from two FLOAT values.</summary>
      <param name="fX">source X</param>
      <param name="fY">source Y</param>
    </member>
    <member name="M:CD2DPointF.#ctor(D2D_POINT_2F!System.Runtime.CompilerServices.IsConst*)">
      <summary>
Constructs a CD2DPointF object from D2D1_POINT_2F object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="M:CD2DPointF.#ctor(D2D_POINT_2F!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DPointF object from D2D1_POINT_2F object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="M:CD2DPointF.#ctor(CPoint!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Constructs a CD2DPointF object from CPoint object.</summary>
      <param name="pt">source point</param>
    </member>
    <member name="T:CD2DPointF">
      <summary>
D2D1_POINT_2F wrapper
</summary>
    </member>
    <member name="M:CCustomTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <remarks>
This method also can set initial value and initial velocity to be applied to an animation variable, which is
associated with this transition. For this purpose you have to call SetInitialValue and SetInitialVelocity before
the framework creates the encapsulated transition COM object (it happens when you call CAnimationController::AnimateGroup).
</remarks>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="M:CCustomTransition.SetInitialVelocity(System.Double)">
      <summary>
Sets an initial velocity, which will be applied to an animation variable associated with this transition.
</summary>
    </member>
    <member name="M:CCustomTransition.SetInitialValue(System.Double)">
      <summary>
Sets an initial value, which will be applied to an animation variable associated with this transition.
</summary>
    </member>
    <member name="M:CCustomTransition.#ctor(CCustomInterpolator*)">
      <summary>
Constructs a custom transition object.
</summary>
      <param name="pInterpolator">A pointer to custom interpolator.</param>
    </member>
    <member name="F:CCustomTransition.m_initialVelocity">
      <summary>
Stores the initial velocity.
</summary>
    </member>
    <member name="F:CCustomTransition.m_initialValue">
      <summary>
Stores the initial value.
</summary>
    </member>
    <member name="F:CCustomTransition.m_bInitialVelocitySpecified">
      <summary>
Specifies whether the initial velocity was specified with SetInitialVelocity.
</summary>
    </member>
    <member name="F:CCustomTransition.m_bInitialValueSpecified">
      <summary>
Specifies whether the initial value was specified with SetInitialValue.
</summary>
    </member>
    <member name="F:CCustomTransition.m_pInterpolator">
      <summary>
Stores a pointer to a custom interpolator.
</summary>
    </member>
    <member name="T:CCustomTransition">
      <summary>
Implements custom transition.
</summary>
      <remarks>
The CCustomTransitions class allows developers to implement custom transitions. It's created and used
as a standard transition, but its constructor accepts as parameter a pointer to a custom interpolator.
Perform the following steps to use custom transitions:
1. Derive a class from CCustomInterpolator and implement at least InterpolateValue method.
2. Ensure that the lifetime of custom interpolator object must be longer than duration of animation where it's used.
3. Instantiate (using operator new) a CCustomTransition object and pass a pointer to custom interpolator in the constructor.
4. Call CCustomTransition::SetInitialValue and CCustomTransition::SetInitialVelocity if these parameters are required for custom interpolation.
5. Pass the pointer to custom transition to AddTransition method of animation object, whose value should be animated with the custom algorithm.
6. When the value of animation object should change Windows Animation API will call InterpolateValue (and other relevant methods) in CCustomInterpolator.
</remarks>
    </member>
    <member name="M:CInterpolatorBase.GetDependencies(__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*,__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*,__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*)">
      <summary>
Gets the interpolator's dependencies.
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the GetDependencies method.
</returns>
      <param name="initialValueDependencies">Output. Aspects of the interpolator that depend on the initial value passed to SetInitialValueAndVelocity.</param>
      <param name="initialVelocityDependencies">Output. Aspects of the interpolator that depend on the initial velocity passed to SetInitialValueAndVelocity.</param>
      <param name="durationDependencies">Output. Aspects of the interpolator that depend on the duration passed to SetDuration.</param>
    </member>
    <member name="M:CInterpolatorBase.InterpolateVelocity(System.Double,System.Double*)">
      <summary>
Interpolates the velocity at a given offset
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the InterpolateVelocity method.
</returns>
      <param name="offset">The offset from the start of the transition.
The offset is always greater than or equal to zero and less than or equal to the duration of the transition.
This method is not called if the duration of the transition is zero. </param>
      <param name="velocity">Output. The velocity of the variable at the offset.</param>
    </member>
    <member name="M:CInterpolatorBase.InterpolateValue(System.Double,System.Double*)">
      <summary>
Interpolates the value at a given offset
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the InterpolateValue method.
</returns>
      <param name="offset">The offset from the start of the transition.
The offset is always greater than or equal to zero and less than the duration of the transition.
This method is not called if the duration of the transition is zero.</param>
      <param name="value">Output. The interpolated value.</param>
    </member>
    <member name="M:CInterpolatorBase.GetFinalValue(System.Double*)">
      <summary>
Gets the final value to which the interpolator leads.
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the GetFinalValue method.
</returns>
      <param name="value">Output. The final value of a variable at the end of the transition.</param>
    </member>
    <member name="M:CInterpolatorBase.GetDuration(System.Double*)">
      <summary>
Gets the interpolator's duration.
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the GetDuration method.
</returns>
      <param name="duration">Output. The duration of the transition, in seconds.</param>
    </member>
    <member name="M:CInterpolatorBase.SetDuration(System.Double)">
      <summary>
Sets the interpolator's duration
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the SetDuration method.
</returns>
      <param name="duration">The duration of the transition.</param>
    </member>
    <member name="M:CInterpolatorBase.SetInitialValueAndVelocity(System.Double,System.Double)">
      <summary>
Sets the interpolator's initial value and velocity.
</summary>
      <returns>
If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not
set, or custom implementation returns FALSE from the SetInitialValueAndVelocity method.
</returns>
      <param name="initialValue">The value of the variable at the start of the transition.</param>
      <param name="initialVelocity">The velocity of the variable at the start of the transition.</param>
    </member>
    <member name="M:CInterpolatorBase.CreateInstance(CCustomInterpolator*,IUIAnimationInterpolator**)">
      <summary>
Creates an instance of CInterpolatorBase and stores a pointer to custom interpolator, which will be handling events.
</summary>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
<param name="pInterpolator">A pointer to custom interpolator.</param><param name="ppHandler">Output. Contains a pointer to instance of CInterpolatorBase when the function returns.</param></member>
    <member name="M:CInterpolatorBase.SetCustomInterpolator(CCustomInterpolator*)">
      <summary>
Stores  a pointer to custom interpolator, which will be handling events.
</summary>
      <param name="pInterpolator">A pointer to custom interpolator.</param>
    </member>
    <member name="M:CInterpolatorBase.#ctor">
      <summary>
Constructs the CInterpolatorBase object.
</summary>
    </member>
    <member name="T:CInterpolatorBase">
      <summary>
Implements a callback, which is called by Animation API when it needs to calculate a new value of animation variable.
</summary>
      <remarks>
This handler is created and passed to IUIAnimationTransitionFactory::CreateTransition when a CCustomTransition
object is being created as a part of animation initialization process (started by CAnimationController::AnimateGroup).
Usually you don't need to use this class directly, it just routs all events to a CCustomInterpolator-derived class, whose
pointer is passed to constructor of CCustomTransition.
</remarks>
    </member>
    <member name="M:CCustomInterpolator.GetDependencies(__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*,__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*,__MIDL___MIDL_itf_UIAnimation_0000_0010_0001*)">
      <summary>
Gets the interpolator's dependencies.
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="initialValueDependencies">Output. Aspects of the interpolator that depend on the initial value passed to SetInitialValueAndVelocity.</param>
      <param name="initialVelocityDependencies">Output. Aspects of the interpolator that depend on the initial velocity passed to SetInitialValueAndVelocity.</param>
      <param name="durationDependencies">Output. Aspects of the interpolator that depend on the duration passed to SetDuration.</param>
    </member>
    <member name="M:CCustomInterpolator.InterpolateVelocity(System.Double,System.Double*)">
      <summary>
Interpolates the velocity at a given offset
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="offset">The offset from the start of the transition.
The offset is always greater than or equal to zero and less than or equal to the duration of the transition.
This method is not called if the duration of the transition is zero. </param>
      <param name="velocity">Output. The velocity of the variable at the offset.</param>
    </member>
    <member name="M:CCustomInterpolator.InterpolateValue(System.Double,System.Double*)">
      <summary>
Interpolates the value at a given offset.
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="offset">The offset from the start of the transition.
The offset is always greater than or equal to zero and less than the duration of the transition.
This method is not called if the duration of the transition is zero.</param>
      <param name="value">Output. The interpolated value.</param>
    </member>
    <member name="M:CCustomInterpolator.GetFinalValue(System.Double*)">
      <summary>
Gets the final value to which the interpolator leads.
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="value">Output. The final value of a variable at the end of the transition.</param>
    </member>
    <member name="M:CCustomInterpolator.GetDuration(System.Double*)">
      <summary>
Gets the interpolator's duration.
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="duration">Output. The duration of the transition, in seconds.</param>
    </member>
    <member name="M:CCustomInterpolator.SetDuration(System.Double)">
      <summary>
Sets the interpolator's duration.
</summary>
      <returns>
Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="duration">The duration of the transition.</param>
    </member>
    <member name="M:CCustomInterpolator.SetInitialValueAndVelocity(System.Double,System.Double)">
      <summary>
Sets the interpolator's initial value and velocity.
</summary>
      <returns>
The basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event.
</returns>
      <param name="initialValue">The value of the variable at the start of the transition.</param>
      <param name="initialVelocity">The velocity of the variable at the start of the transition.</param>
    </member>
    <member name="M:CCustomInterpolator.Init(System.Double,System.Double)">
      <summary>
Initializes duration and final value.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="finalValue">The final value of a variable at the end of the transition.</param>
    </member>
    <member name="M:CCustomInterpolator.#ctor(System.Double,System.Double)">
      <summary>
Constructs a custom interpolator object and initializes duration and velocity to specified values.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="finalValue" />
    </member>
    <member name="M:CCustomInterpolator.#ctor">
      <summary>
Constructs a custom interpolator object and sets all values to default 0.
</summary>
      <remarks>
Use CCustomInterpolator::Init to initialize duration and final value later in the code.
</remarks>
    </member>
    <member name="F:CCustomInterpolator.m_currentVelocity">
      <summary>
The interpolated velocity.
</summary>
    </member>
    <member name="F:CCustomInterpolator.m_currentValue">
      <summary>
The interpolated value.
</summary>
    </member>
    <member name="F:CCustomInterpolator.m_initialVelocity">
      <summary>
The velocity of the variable at the start of the transition.
</summary>
    </member>
    <member name="F:CCustomInterpolator.m_initialValue">
      <summary>
The value of the variable at the start of the transition.
</summary>
    </member>
    <member name="F:CCustomInterpolator.m_finalValue">
      <summary>
The final value of a variable at the end of the transition.
</summary>
    </member>
    <member name="F:CCustomInterpolator.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="T:CCustomInterpolator">
      <summary>
Implements a basic interpolator.
</summary>
      <remarks>
Derive a class from CCustomInterpolator and override all necessary methods in order to implement a custom
interpolation algorithm. A pointer to this class should be passed as a parameter to CCustomTransition.
</remarks>
    </member>
    <member name="M:CSinusoidalTransitionFromVelocity.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CSinusoidalTransitionFromVelocity.m_period">
      <summary>
The period of oscillation of the sinusoidal wave in seconds.
</summary>
    </member>
    <member name="F:CSinusoidalTransitionFromVelocity.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CSinusoidalTransitionFromVelocity.#ctor(System.Double,System.Double)">
      <summary>
Constructs a transition object.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="period">The period of oscillation of the sinusoidal wave in seconds. </param>
    </member>
    <member name="T:CSinusoidalTransitionFromVelocity">
      <summary>
Encapsulates a sinusoidal-velocity transition, with an amplitude determined by the animation variable's initial velocity..
</summary>
      <remarks>
The value of the animation variable oscillates around the initial value over the entire duration of a
sinusoidal-range transition. The amplitude of the oscillation is determined by the animation variable's velocity
when the transition begins.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CSinusoidalTransitionFromRange.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CSinusoidalTransitionFromRange.m_slope">
      <summary>
The slope at the start of the transition.
</summary>
    </member>
    <member name="F:CSinusoidalTransitionFromRange.m_period">
      <summary>
The period of oscillation of the sinusoidal wave in seconds.
</summary>
    </member>
    <member name="F:CSinusoidalTransitionFromRange.m_dblMaximumValue">
      <summary>
The value of the animation variable at a peak of the sinusoidal wave.
</summary>
    </member>
    <member name="F:CSinusoidalTransitionFromRange.m_dblMinimumValue">
      <summary>
The value of the animation variable at a trough of the sinusoidal wave.
</summary>
    </member>
    <member name="F:CSinusoidalTransitionFromRange.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CSinusoidalTransitionFromRange.#ctor(System.Double,System.Double,System.Double,System.Double,__MIDL___MIDL_itf_UIAnimation_0000_0009_0001)">
      <summary>
Constructs a transition object.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="dblMinimumValue">The value of the animation variable at a trough of the sinusoidal wave.</param>
      <param name="dblMaximumValue">The value of the animation variable at a peak of the sinusoidal wave.</param>
      <param name="period">The period of oscillation of the sinusoidal wave in seconds. </param>
      <param name="slope">The slope at the start of the transition. </param>
    </member>
    <member name="T:CSinusoidalTransitionFromRange">
      <summary>
Encapsulates a sinusoidal-range transition, with a given range of oscillation.
</summary>
      <remarks>
The value of the animation variable fluctuates between the specified minimum and maximum values over the entire
duration of a sinusoidal-range transition. The slope parameter is used to disambiguate between the two possible
sine waves specified by the other parameters.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CReversalTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CReversalTransition.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CReversalTransition.#ctor(System.Double)">
      <summary>
Constructs a reversal transition object and initializes its duration.
</summary>
      <param name="duration">The duration of the transition. </param>
    </member>
    <member name="T:CReversalTransition">
      <summary>
Encapsulates a reversal transition.
</summary>
      <remarks>
A reversal transition smoothly changes direction over a given duration.
The final value will be the same as the initial value and the final velocity will be the negative of the initial velocity.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CParabolicTransitionFromAcceleration.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CParabolicTransitionFromAcceleration.m_dblAcceleration">
      <summary>
The acceleration of the animation variable during the transition.
</summary>
    </member>
    <member name="F:CParabolicTransitionFromAcceleration.m_dblFinalVelocity">
      <summary>
The velocity of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CParabolicTransitionFromAcceleration.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="M:CParabolicTransitionFromAcceleration.#ctor(System.Double,System.Double,System.Double)">
      <summary>
Constructs a parabolic-acceleration transition and initializes it with specified parameters.
</summary>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition. </param>
      <param name="dblFinalVelocity">The velocity of the animation variable at the end of the transition. </param>
      <param name="dblAcceleration">The acceleration of the animation variable during the transition.</param>
    </member>
    <member name="T:CParabolicTransitionFromAcceleration">
      <summary>
Encapsulates a parabolic-acceleration transition.
</summary>
      <remarks>
During a parabolic-acceleration transition, the value of the animation variable changes from the initial value
to the final value ending at a specified velocity. You can control how quickly the variable reaches the final
value by specifying the rate of acceleration.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CSmoothStopTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CSmoothStopTransition.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CSmoothStopTransition.m_maximumDuration">
      <summary>
The maximum duration of the transition.
</summary>
    </member>
    <member name="M:CSmoothStopTransition.#ctor(System.Double,System.Double)">
      <summary>
Constructs a smooth-stop transition and initializes its maximum duration and final value.
</summary>
      <param name="maximumDuration">The maximum duration of the transition.</param>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition.</param>
    </member>
    <member name="T:CSmoothStopTransition">
      <summary>
Encapsulates a smooth-stop transition.
</summary>
      <remarks>
A smooth-stop transition slows down as it approaches a given final value, and reaches it with a velocity of zero.
The duration of the transition is determined by the initial velocity, the difference between the initial and final values,
and the specified maximum duration. If there is no solution consisting of a single parabolic arc,
this method creates a cubic transition.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CLinearTransitionFromSpeed.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CLinearTransitionFromSpeed.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CLinearTransitionFromSpeed.m_dblSpeed">
      <summary>
The absolute value of the variable's velocity.
</summary>
    </member>
    <member name="M:CLinearTransitionFromSpeed.#ctor(System.Double,System.Double)">
      <summary>
Constructs a linear-speed transition object and initializes it with speed and final value.
</summary>
      <param name="dblSpeed">The absolute value of the variable's velocity.</param>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition.</param>
    </member>
    <member name="T:CLinearTransitionFromSpeed">
      <summary>
Encapsulates a linear-speed transition.
</summary>
      <remarks>
During a linear-speed transition, the value of the animation variable changes at a specified rate.
The duration of the transition is determined by the difference between the initial value and the specified final value.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CLinearTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CLinearTransition.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CLinearTransition.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CLinearTransition.#ctor(System.Double,System.Double)">
      <summary>
Constructs a linear transition object and initializes it with duration and final value.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition.</param>
    </member>
    <member name="T:CLinearTransition">
      <summary>
Encapsulates a linear transition.
</summary>
      <remarks>
During a linear transition, the value of the animation variable transitions linearly from its initial value to a specified final value.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CInstantaneousTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CInstantaneousTransition.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="M:CInstantaneousTransition.#ctor(System.Double)">
      <summary>
Constructs a transition object and initializes its final value.
</summary>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition.</param>
    </member>
    <member name="T:CInstantaneousTransition">
      <summary>
Encapsulates an instantaneous transition.
</summary>
      <remarks>
During an instantaneous transition, the value of the animation variable changes instantly from its current
value to a specified final value. The duration of this transition is always zero.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CDiscreteTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CDiscreteTransition.m_hold">
      <summary>
The amount of time by which to hold the variable at its final value.
</summary>
    </member>
    <member name="F:CDiscreteTransition.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CDiscreteTransition.m_delay">
      <summary>
The amount of time by which to delay the instantaneous switch to the final value.
</summary>
    </member>
    <member name="M:CDiscreteTransition.#ctor(System.Double,System.Double,System.Double)">
      <summary>
Constructs a discrete transition object and initializes its parameters.
</summary>
      <param name="delay">The amount of time by which to delay the instantaneous switch to the final value.</param>
      <param name="dblFinalValue">The value of the animation variable at the end of the transition. </param>
      <param name="hold">The amount of time by which to hold the variable at its final value.</param>
    </member>
    <member name="T:CDiscreteTransition">
      <summary>
Encapsulates a discrete transition.
</summary>
      <remarks>
During a discrete transition, the animation variable remains at the initial value for a specified delay time,
then switches instantaneously to a specified final value and remains at that value for a given hold time.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CCubicTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CCubicTransition.m_dblFinalVelocity">
      <summary>
The velocity of the variable at the end of the transition.
</summary>
    </member>
    <member name="F:CCubicTransition.m_dblFinalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CCubicTransition.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CCubicTransition.#ctor(System.Double,System.Double,System.Double)">
      <summary>
Constructs a transition object and initializes its parameters.
</summary>
      <param name="duration">The duration of the transition.</param>
      <param name="finalValue">The value of the animation variable at the end of the transition.</param>
      <param name="finalVelocity">The velocity of the variable at the end of the transition.</param>
    </member>
    <member name="T:CCubicTransition">
      <summary>
Encapsulates a cubic transition.
</summary>
      <remarks>
During a cubic transition, the value of the animation variable changes from its initial value to a specified
final value over the duration of the transition, ending at a specified velocity.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CConstantTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CConstantTransition.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CConstantTransition.#ctor(System.Double)">
      <summary>
Constructs a transition object and initializes its duration.
</summary>
      <param name="duration">The duration of the transition. </param>
    </member>
    <member name="T:CConstantTransition">
      <summary>
Encapsulates a constant transition.
</summary>
      <remarks>
During a constant transition, the value of an animation variable remains at the initial value over the duration
of the transition.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CAccelerateDecelerateTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Calls the transition library to create encapsulated transition COM object.
</summary>
      <returns>
TRUE if transition is created successfully; otherwise FALSE.
</returns>
      <param name="pLibrary">A pointer to transition library, which is responsible for creation of standard transitions.</param>
      <param name="pFactory">A pointer to transition factory, which is responsible for creation of custom transitions.</param>
    </member>
    <member name="F:CAccelerateDecelerateTransition.m_decelerationRatio">
      <summary>
The ratio of the time spent decelerating to the duration.
</summary>
    </member>
    <member name="F:CAccelerateDecelerateTransition.m_accelerationRatio">
      <summary>
The ratio of the time spent accelerating to the duration.
</summary>
    </member>
    <member name="F:CAccelerateDecelerateTransition.m_finalValue">
      <summary>
The value of the animation variable at the end of the transition.
</summary>
    </member>
    <member name="F:CAccelerateDecelerateTransition.m_duration">
      <summary>
The duration of the transition.
</summary>
    </member>
    <member name="M:CAccelerateDecelerateTransition.#ctor(System.Double,System.Double,System.Double,System.Double)">
      <summary>
Constructs a transition object.
</summary>
      <param name="duration">The duration of the transition. </param>
      <param name="finalValue">The value of the animation variable at the end of the transition. </param>
      <param name="accelerationRatio">The ratio of the time spent accelerating to the duration.</param>
      <param name="decelerationRatio">The ratio of the time spent decelerating to the duration. </param>
    </member>
    <member name="T:CAccelerateDecelerateTransition">
      <summary>
Implements an accelerate-decelerate transition.
</summary>
      <remarks>
During an accelerate-decelerate transition, the animation variable speeds up and then slows down over the
duration of the transition, ending at a specified value. You can control how quickly the variable accelerates and
decelerates independently, by specifying different acceleration and deceleration ratios.
When the initial velocity is zero, the acceleration ratio is the fraction of the duration that the variable will
spend accelerating; likewise with the deceleration ratio. If the initial velocity is non-zero, it is the
fraction of the time between the velocity reaching zero and the end of transition. The acceleration ratio and
the deceleration ratio should sum to a maximum of 1.0.
Because all transitions are cleared automatically, it's recommended to allocated them using operator new.
The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then
it's NULL. Changing member variables after creation of this COM object has no effect.
</remarks>
    </member>
    <member name="M:CAnimationTimerEventHandler.OnRenderingTooSlow(System.UInt32)">
      <summary>
Handles events that occur when the rendering frame rate for an animation falls below the minimum desirable frame rate.
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
    </member>
    <member name="M:CAnimationTimerEventHandler.OnPostUpdate">
      <summary>
Handles events that occur after an animation update is finished.
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
    </member>
    <member name="M:CAnimationTimerEventHandler.OnPreUpdate">
      <summary>
Handles events that occur before an animation update begins.
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
    </member>
    <member name="M:CAnimationTimerEventHandler.SetAnimationController(CAnimationController*)">
      <summary>
Stores a pointer to animation controller to route events.
</summary>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
    </member>
    <member name="M:CAnimationTimerEventHandler.CreateInstance(CAnimationController*,IUIAnimationTimerEventHandler**)">
      <summary>
Creates an instance of CAnimationTimerEventHandler callback.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
      <param name="ppTimerEventHandler">Output. If the method succeeds it contains a pointer to COM object that will handle
animation timer events.</param>
    </member>
    <member name="T:CAnimationTimerEventHandler">
      <summary>
Implements a call back, which is called by Animation API when timing events occur.
</summary>
      <remarks>
This event handler is created and passed to IUIAnimationTimer::SetTimerEventHandler when you call
CAnimationController::EnableAnimationTimerEventHandler.
</remarks>
    </member>
    <member name="M:CAnimationStoryboardEventHandler.OnStoryboardUpdated(IUIAnimationStoryboard*)">
      <summary>
Handles OnStoryboardUpdated events, which occur when a storyboard is updated
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
      <param name="storyboard">A pointer to storyboard, which was updated.</param>
    </member>
    <member name="M:CAnimationStoryboardEventHandler.OnStoryboardStatusChanged(IUIAnimationStoryboard*,__MIDL___MIDL_itf_UIAnimation_0000_0002_0001,__MIDL___MIDL_itf_UIAnimation_0000_0002_0001)">
      <summary>
Handles OnStoryboardStatusChanged events, which occur when a storyboard's status changes
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
      <param name="storyboard">A pointer to storyboard whose status has changed.</param>
      <param name="newStatus">Specifies new storyboard status.</param>
      <param name="previousStatus">Specifies previous storyboard status.</param>
    </member>
    <member name="M:CAnimationStoryboardEventHandler.SetAnimationController(CAnimationController*)">
      <summary>
Stores a pointer to animation controller to route events.
</summary>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
    </member>
    <member name="M:CAnimationStoryboardEventHandler.CreateInstance(CAnimationController*,IUIAnimationStoryboardEventHandler**)">
      <summary>
Creates an instance of CAnimationStoryboardEventHandler callback.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
      <param name="ppHandler">Output. If the method succeeds it contains a pointer to COM object that will handle
storyboard events.</param>
    </member>
    <member name="M:CAnimationStoryboardEventHandler.#ctor">
      <summary>
Constructs a CAnimationStoryboardEventHandler object.
</summary>
    </member>
    <member name="T:CAnimationStoryboardEventHandler">
      <summary>
Implements a callback, which is called by Animation API when storyboard's status is changed or storyboard is updated.
</summary>
      <remarks>
This event handler is created and passed to IUIAnimationStoryboard::SetStoryboardEventHandler method,
when you call CAnimationController::EnableStoryboardEventHandler.
</remarks>
    </member>
    <member name="M:CAnimationVariableIntegerChangeHandler.OnIntegerValueChanged(IUIAnimationStoryboard*,IUIAnimationVariable*,System.Int32,System.Int32)">
      <summary>
Called when a value of an animation variable has changed.
</summary>
      <returns>
S_OK if the method succeeds; otherwise E_FAIL.
</returns>
      <param name="storyboard">The storyboard that is animating the variable.</param>
      <param name="variable">The animation variable that was updated.</param>
      <param name="newValue">The new rounded value.</param>
      <param name="previousValue">The previous rounded value.</param>
    </member>
    <member name="M:CAnimationVariableIntegerChangeHandler.SetAnimationController(CAnimationController*)">
      <summary>
Stores a pointer to animation controller to route events.
</summary>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
    </member>
    <member name="M:CAnimationVariableIntegerChangeHandler.CreateInstance(CAnimationController*,IUIAnimationVariableIntegerChangeHandler**)">
      <summary>
Creates an instance of CAnimationVariableIntegerChangeHandler callback.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
      <param name="ppHandler">Output. If the method succeeds it contains a pointer to COM object that will handle
variable integer change events.</param>
    </member>
    <member name="M:CAnimationVariableIntegerChangeHandler.#ctor">
      <summary>
Constructs a CAnimationVariableIntegerChangeHandler object.
</summary>
    </member>
    <member name="T:CAnimationVariableIntegerChangeHandler">
      <summary>
Implements a call back, which is called by Animation API when the value of an animation variable changes.
</summary>
      <remarks>
This event handler is created and passed to IUIAnimationVariable::SetVariableIntegerChangeHandler method,
when you call CAnimationVariable::EnableIntegerValueChangedEvent or CAnimationBaseObject::EnableIntegerValueChangedEvent
(which enables this event for all animation variables encapsulated in an animation object).
</remarks>
    </member>
    <member name="M:CAnimationVariableChangeHandler.OnValueChanged(IUIAnimationStoryboard*,IUIAnimationVariable*,System.Double,System.Double)">
      <summary>
Called when a value of an animation variable has changed.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="storyboard">The storyboard that is animating the variable.</param>
      <param name="variable">The animation variable that was updated.</param>
      <param name="newValue">The new value.</param>
      <param name="previousValue">The previous value.</param>
    </member>
    <member name="M:CAnimationVariableChangeHandler.SetAnimationController(CAnimationController*)">
      <summary>
Stores a pointer to animation controller to route events.
</summary>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
    </member>
    <member name="M:CAnimationVariableChangeHandler.CreateInstance(CAnimationController*,IUIAnimationVariableChangeHandler**)">
      <summary>
Creates an instance of CAnimationVariableChangeHandler object.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
      <param name="ppHandler">Output. If the method succeeds it contains a pointer to COM object that will handle
variable change events.</param>
    </member>
    <member name="M:CAnimationVariableChangeHandler.#ctor">
      <summary>
Constructs a CAnimationVariableChangeHandler object.
</summary>
    </member>
    <member name="T:CAnimationVariableChangeHandler">
      <summary>
Implements a call back, which is called by Animation API when the value of an animation variable changes.
</summary>
      <remarks>
This event handler is created and passed to IUIAnimationVariable::SetVariableChangeHandler method,
when you call CAnimationVariable::EnableValueChangedEvent or CAnimationBaseObject::EnableValueChangedEvent
(which enables this event for all animation variables encapsulated in an animation object).
</remarks>
    </member>
    <member name="M:CAnimationManagerEventHandler.OnManagerStatusChanged(__MIDL___MIDL_itf_UIAnimation_0000_0000_0002,__MIDL___MIDL_itf_UIAnimation_0000_0000_0002)">
      <summary>
Called when a status of animation manager has changed.
</summary>
      <returns>
Current implementation always returns S_OK;
</returns>
      <param name="newStatus">New status.</param>
      <param name="previousStatus">Previous status.</param>
    </member>
    <member name="M:CAnimationManagerEventHandler.SetAnimationController(CAnimationController*)">
      <summary>
Stores a pointer to animation controller to route events.
</summary>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
    </member>
    <member name="M:CAnimationManagerEventHandler.CreateInstance(CAnimationController*,IUIAnimationManagerEventHandler**)">
      <summary>
Creates an instance of CAnimationManagerEventHandler object.
</summary>
      <returns>
If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
</returns>
      <param name="pAnimationController">A pointer to animation controller, which will receive events.</param>
      <param name="ppManagerEventHandler">Output. If the method succeeds it contains a pointer to COM object that will handle
status updates to an animation manager.</param>
    </member>
    <member name="M:CAnimationManagerEventHandler.#ctor">
      <summary>
Constructs a CAnimationManagerEventHandler object.
</summary>
    </member>
    <member name="T:CAnimationManagerEventHandler">
      <summary>
Implements a callback, which is called by Animation API when a status of animation manager changed.
</summary>
      <remarks>
This event handler is created and passed to IUIAnimationManager::SetManagerEventHandler method,
when you call CAnimationController::EnableAnimationManagerEvent.
</remarks>
    </member>
    <member name="M:CAnimationController.CleanUpGroup(CAnimationGroup*)">
      <summary>
A helper that cleans up the group.
</summary>
      <remarks>
This method removes all transitions and keyframes from the specified group.
</remarks>
      <param name="pGroup">A pointer to animation group to clean.</param>
    </member>
    <member name="M:CAnimationController.OnAfterSchedule(CAnimationGroup*)">
      <summary>
Called by the framework when an animation for the specified group has just been scheduled.
</summary>
      <remarks>
The default implementation removes keyframes from the specified group and transitions from animation variables that
belong to the specified group. Can be overridden in a derived class to take any additional actions upon animation schedule.
</remarks>
      <param name="pGroup">A pointer to an animation group, which has been scheduled.</param>
    </member>
    <member name="M:CAnimationController.OnAnimationTimerRenderingTooSlow(System.UInt32)">
      <summary>
Called by the framework when the rendering frame rate for an animation falls below a minimum desirable frame rate.
</summary>
      <remarks>
This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler.
It can be overridden in a derived class to take application-specific actions.
The minimum desirable frame rate is specified by calling IUIAnimationTimer::SetFrameRateThreshold.
</remarks>
      <param name="fps">The current frame rate in frames per second. </param>
    </member>
    <member name="M:CAnimationController.OnAnimationTimerPostUpdate">
      <summary>
Called by the framework after an animation update is finished.
</summary>
      <remarks>
This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler.
It can be overridden in a derived class to take application-specific actions.
</remarks>
    </member>
    <member name="M:CAnimationController.OnAnimationTimerPreUpdate">
      <summary>
Called by the framework before an animation update begins.
</summary>
      <remarks>
This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler.
It can be overridden in a derived class to take application-specific actions.
</remarks>
    </member>
    <member name="M:CAnimationController.OnHasPriorityCompress(CAnimationGroup*,CAnimationGroup*,__MIDL___MIDL_itf_UIAnimation_0000_0008_0001)">
      <summary>
Called by the framework to resolve scheduling conflicts.
</summary>
      <returns>
Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by
pGroupScheduled has priority.
</returns>
      <remarks>
This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler
and specify UI_ANIMATION_PHT_COMPRESS.
It can be overridden in a derived class to take application-specific actions.
Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx).
</remarks>
      <param name="pGroupScheduled">The group that owns the currently scheduled storyboard.</param>
      <param name="pGroupNew">The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled.</param>
      <param name="priorityEffect">The potential effect on pGroupNew if pGroupScheduled has a higher priority.</param>
    </member>
    <member name="M:CAnimationController.OnHasPriorityTrim(CAnimationGroup*,CAnimationGroup*,__MIDL___MIDL_itf_UIAnimation_0000_0008_0001)">
      <summary>
Called by the framework to resolve scheduling conflicts.
</summary>
      <returns>
Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by
pGroupScheduled has priority.
</returns>
      <remarks>
This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler
and specify UI_ANIMATION_PHT_TRIM.
It can be overridden in a derived class to take application-specific actions.
Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx).
</remarks>
      <param name="pGroupScheduled">The group that owns the currently scheduled storyboard.</param>
      <param name="pGroupNew">The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled.</param>
      <param name="priorityEffect">The potential effect on pGroupNew if pGroupScheduled has a higher priority.</param>
    </member>
    <member name="M:CAnimationController.OnHasPriorityConclude(CAnimationGroup*,CAnimationGroup*,__MIDL___MIDL_itf_UIAnimation_0000_0008_0001)">
      <summary>
Called by the framework to resolve scheduling conflicts.
</summary>
      <returns>
Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by
pGroupScheduled has priority.
</returns>
      <remarks>
This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler
and specify UI_ANIMATION_PHT_CONCLUDE.
It can be overridden in a derived class to take application-specific actions.
Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx).
</remarks>
      <param name="pGroupScheduled">The group that owns the currently scheduled storyboard.</param>
      <param name="pGroupNew">The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled.</param>
      <param name="priorityEffect">The potential effect on pGroupNew if pGroupScheduled has a higher priority.</param>
    </member>
    <member name="M:CAnimationController.OnHasPriorityCancel(CAnimationGroup*,CAnimationGroup*,__MIDL___MIDL_itf_UIAnimation_0000_0008_0001)">
      <summary>
Called by the framework to resolve scheduling conflicts.
</summary>
      <returns>
Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by
pGroupScheduled has priority.
</returns>
      <remarks>
This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler
and specify UI_ANIMATION_PHT_CANCEL.
It can be overridden in a derived class to take application-specific actions.
Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx).
</remarks>
      <param name="pGroupScheduled">The group that owns the currently scheduled storyboard.</param>
      <param name="pGroupNew">The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled.</param>
      <param name="priorityEffect">The potential effect on pGroupNew if pGroupScheduled has a higher priority.</param>
    </member>
    <member name="M:CAnimationController.OnStoryboardUpdated(CAnimationGroup*)">
      <summary>
Called by the framework when storyboard has been updated.
</summary>
      <remarks>
This method is called if you enable storyboard events using CAnimationController::EnableStoryboardEventHandler.
It can be overridden in a derived class to take application-specific actions.
</remarks>
      <param name="pGroup">A pointer to a group that owns the storyboard.</param>
    </member>
    <member name="M:CAnimationController.OnStoryboardStatusChanged(CAnimationGroup*,__MIDL___MIDL_itf_UIAnimation_0000_0002_0001,__MIDL___MIDL_itf_UIAnimation_0000_0002_0001)">
      <summary>
Called by the framework when storyboard status has changed.
</summary>
      <remarks>
This method is called if you enable storyboard events using CAnimationController::EnableStoryboardEventHandler.
It can be overridden in a derived class to take application-specific actions.
</remarks>
      <param name="pGroup">A pointer to an animation group that owns the storyboard whose status has changed.</param>
      <param name="newStatus">Specifies the new status.</param>
      <param name="previousStatus">Specifies the previous status.</param>
    </member>
    <member name="M:CAnimationController.OnAnimationIntegerValueChanged(CAnimationGroup*,CAnimationBaseObject*,IUIAnimationVariable*,System.Int32,System.Int32)">
      <summary>
Called by the framework when integer value of animation variable has changed.
</summary>
      <remarks>
This method is called if you enable animation variable events with EnableIntegerValueChangedEvent called for a specific
animation variable or animation object.
It can be overridden in a derived class to take application-specific actions.
</remarks>
      <param name="pGroup">A pointer to an animation group that holds an animation object whose value has changed.</param>
      <param name="pObject">A pointer to an animation object that contains an animation variable whose value has changed.</param>
      <param name="variable">A pointer to an animation variable.</param>
      <param name="newValue">Specifies new value.</param>
      <param name="prevValue">Specifies previous value.</param>
    </member>
    <member name="M:CAnimationController.OnAnimationValueChanged(CAnimationGroup*,CAnimationBaseObject*,IUIAnimationVariable*,System.Double,System.Double)">
      <summary>
Called by the framework when value of animation variable has changed.
</summary>
      <remarks>
This method is called if you enable animation variable events with EnableValueChangedEvent called for a specific
animation variable or animation object.
It can be overridden in a derived class to take application-specific actions.
</remarks>
      <param name="pGroup">A pointer to an animation group that holds an animation object whose value has changed.</param>
      <param name="pObject">A pointer to an animation object that contains an animation variable whose value has changed.</param>
      <param name="variable">A pointer to an animation variable.</param>
      <param name="newValue">Specifies new value.</param>
      <param name="prevValue">Specifies previous value.</param>
    </member>
    <member name="M:CAnimationController.OnAnimationManagerStatusChanged(__MIDL___MIDL_itf_UIAnimation_0000_0000_0002,__MIDL___MIDL_itf_UIAnimation_0000_0000_0002)">
      <summary>
Called by the framework in response to StatusChanged event from animation manager.
</summary>
      <remarks>
This method is called if you enable animation manager events with EnableAnimationManagerEvent.
It can be overridden in a derived class to take application-specific actions. The default implementation
updates a related window if it has been set with SetRelatedWnd.
</remarks>
      <param name="newStatus">New animation manager status.</param>
      <param name="previousStatus">Previous animation manager status.</param>
    </member>
    <member name="M:CAnimationController.OnBeforeAnimationStart(CAnimationGroup*)">
      <summary>
Called by the framework right before the animation is scheduled.
</summary>
      <remarks>
This call is routed to related CWnd and can be overridden in a derived class to perform any
additional actions before the animation starts for the specified group.
</remarks>
      <param name="pGroup">A pointer to an animation group whose animation is about to start.</param>
    </member>
    <member name="M:CAnimationController.CleanUpGroup(System.UInt32)">
      <summary>
Called by the framework to clean up the group when animation has been scheduled.
</summary>
      <remarks>
This method removes all transitions and keyframes from the specified group, because they are not relevant
after an animation has been scheduled.
</remarks>
      <param name="nGroupID">Specifies GroupID.</param>
    </member>
    <member name="M:CAnimationController.ScheduleGroup(System.UInt32,System.Double)">
      <summary>
Schedules an animation.
</summary>
      <returns>
TRUE if animation was scheduled successfully. FALSE if storyboard has not been created, or other error occurs.
</returns>
      <remarks>
You must call AnimateGroup with parameter bScheduleNow set to FALSE prior ScheduleGroup. You can specify the
desired animation time obtained from IUIAnimationTimer::GetTime. If the time parameter is 0.0, the animation is scheduled for the
current time.
</remarks>
      <param name="nGroupID">Specifies animation Group ID to schedule.</param>
      <param name="time">Specifies time to schedule.</param>
    </member>
    <member name="M:CAnimationController.AnimateGroup(System.UInt32,System.Int32)">
      <summary>
Prepares a group to run animation and optionally schedules it.
</summary>
      <returns>
TRUE if animation was successfully scheduled and run.
</returns>
      <remarks>
This method does the actual work creating storyboard, adding animation variables, applying transitions and setting keyframes.
It's possible to delay scheduling if you set bScheduleNow to FALSE. In this case the specified group
will hold a storyboard that has been set up for animation. At that point you can setup events for the storyboard and
animation variables. When you actually need to run the animation call CAnimationController::ScheduleGroup.
</remarks>
      <param name="nGroupID">Specifies GroupID.</param>
      <param name="bScheduleNow">Specifies whether to run animation right away.</param>
    </member>
    <member name="M:CAnimationController.FindAnimationObject(IUIAnimationVariable*,CAnimationBaseObject**,CAnimationGroup**)">
      <summary>
Finds animation object containing a specified animation variable.
</summary>
      <returns>
TRUE if object was found; otherwise FALSE.
</returns>
      <remarks>
Called from event handlers when it's required to find an animation object from incoming animation variable.
</remarks>
      <param name="pVariable">A pointer to animation variable.</param>
      <param name="ppObject">Output. Contains a pointer to animation object or NULL. </param>
      <param name="ppGroup">Output. Contains a pointer to animation group that holds the animation object, or NULL.</param>
    </member>
    <member name="M:CAnimationController.FindAnimationGroup(IUIAnimationStoryboard*)">
      <summary>
Finds an animation group by its storyboard.
</summary>
      <returns>
A pointer to animation group if succeeds, or NULL if no group plays the specified storyboard.
</returns>
      <remarks>
This method is usually called from event handlers to find a group by pointer to storyboard that comes as a parameter to an event handler.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
    </member>
    <member name="M:CAnimationController.FindAnimationGroup(System.UInt32)">
      <summary>
Finds an animation group by its Group ID.
</summary>
      <returns>
A pointer to animation group or NULL if the group with specified ID is not found.
</returns>
      <remarks>
Use this method to find an animation group at runtime. A group is created and added to the internal list of animation groups
when a first animation object with particular GroupID is being added to animation controller.
</remarks>
      <param name="nGroupID">Specifies a GroupID.</param>
    </member>
    <member name="M:CAnimationController.AddKeyframeToGroup(System.UInt32,CBaseKeyFrame*)">
      <summary>
Adds a keyframe to group.
</summary>
      <returns>
TRUE if the function succeeds; otherwise FALSE.
</returns>
      <remarks>
Usually you don't need to call this method, use CAnimationController::CreateKeyframe instead, which creates
and adds the created keyframe to a group automatically.
</remarks>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="pKeyframe">A pointer to a keyframe.</param>
    </member>
    <member name="M:CAnimationController.CreateKeyframe(System.UInt32,CBaseKeyFrame*,System.Double)">
      <summary>
Creates a keyframe that depends on other keyframe with optional offset in seconds and adds it to the specified group.
</summary>
      <returns>
A pointer to newly created keyframe if the function succeeds.
</returns>
      <remarks>
You can store the returned pointer and base other keyframes on the newly created keyframe (see the second overload).
It's possible to begin transitions at keyframes - see CBaseTransition::SetKeyframes.
You don't need to delete keyframes created in this way, because they are deleted automatically by animation groups.
Be careful when creating keyframes based on other keyframes and transitions and avoid circular references.
</remarks>
      <param name="nGroupID">Specifies Group ID for which keyframe is created.</param>
      <param name="pKeyframe">A  pointer to base keyframe for this keyframe.</param>
      <param name="offset">Offset in seconds from the base keyframe specified by pKeyframe.</param>
    </member>
    <member name="M:CAnimationController.CreateKeyframe(System.UInt32,CBaseTransition*)">
      <summary>
Creates a keyframe that depends on transition and adds it to the specified group.
</summary>
      <returns>
A pointer to newly created keyframe if the function succeeds.
</returns>
      <remarks>
You can store the returned pointer and base other keyframes on the newly created keyframe (see the second overload).
It's possible to begin transitions at keyframes - see CBaseTransition::SetKeyframes.
You don't need to delete keyframes created in this way, because they are deleted automatically by animation groups.
Be careful when creating keyframes based on other keyframes and transitions and avoid circular references.
</remarks>
      <param name="nGroupID">Specifies Group ID for which keyframe is created.</param>
      <param name="pTransition">A pointer to transition. Keyframe will be inserted to storyboard after this transition.</param>
    </member>
    <member name="M:CAnimationController.RemoveTransitions(System.UInt32)">
      <summary>
Removes transitions from animation objects that belong to the specified group.
</summary>
      <remarks>
The group loops over its animation objects and calls ClearTransitions(FALSE) for each animation object.
This method is called by the framework after animation has been scheduled.
</remarks>
      <param name="nGroupID">Specifies Group ID.</param>
    </member>
    <member name="M:CAnimationController.RemoveAllAnimationGroups">
      <summary>
Removes all animation groups from animation controller.
</summary>
      <remarks>
All groups will be deleted, their pointer, if stored at the application level, must be invalidated.
If CAnimationGroup::m_bAutodestroyAnimationObjects for a group being deleted is TRUE,
all animation objects that belong to that group will be deleted; otherwise their references to parent animation
controller will be set to NULL and they can be added to another controller.
</remarks>
    </member>
    <member name="M:CAnimationController.RemoveAnimationGroup(System.UInt32)">
      <summary>
Removes an animation group with specified ID from animation controller.
</summary>
      <remarks>
This method removes an animation group from the internal list of groups and deletes it, therefore if you stored
a pointer to that animation group, it must be invalidated. If CAnimationGroup::m_bAutodestroyAnimationObjects is TRUE,
all animation objects that belong to that group will be deleted; otherwise their references to parent animation
controller will be set to NULL and they can be added to another controller.
</remarks>
      <param name="nGroupID">Specifies animation group ID.</param>
    </member>
    <member name="M:CAnimationController.RemoveAnimationObject(CAnimationBaseObject*,System.Int32)">
      <summary>
Remove an animation object from animation controller.
</summary>
      <remarks>
Removes an animation object from animation controller and animation group. Call this function if
a particular object should not be animated anymore, or if you need to move the object to another animation controller.
In the last case bNoDelete must be TRUE.
</remarks>
      <param name="pObject">A pointer to an animation object.</param>
      <param name="bNoDelete">If this parameter is TRUE the object will not be deleted upon remove.</param>
    </member>
    <member name="M:CAnimationController.AddAnimationObject(CAnimationBaseObject*)">
      <summary>
Adds an animation object to a group that belongs to the animation controller.
</summary>
      <returns>
A pointer to existing or new animation group where pObject has been added if function succeeds; NULL if
pObject has already been added to a group that belongs to another animation controller.
</returns>
      <remarks>
Call this method to add an animation object to the animation controller. An object will be added to a group
according to object's GroupID (see CAnimationBaseObject::SetID). The animation controller will create a new
group if it's the first object being added with the specified GroupID. An animation object can be added to
one animation controller only. If you need to add an object to another controller, call RemoveAnimationObject first.
If you call SetID with new GroupID for an object that has been already added to a group, the object will be removed
from the old group and added to another group with specified ID.
</remarks>
      <param name="pObject">A pointer to an animation object.</param>
    </member>
    <member name="M:CAnimationController.SetRelatedWnd(CWnd*)">
      <summary>
Establishes a relationship between animation controller and a window.
</summary>
      <remarks>
If a related CWnd object is set, the animation controller can automatically update it (send WM_PAINT message) when
the status of animation manager has changed or timer post update event has occurred.
</remarks>
      <param name="pWnd">A pointer to window object to set.</param>
    </member>
    <member name="M:CAnimationController.IsAnimationInProgress">
      <summary>
Tells whether at least one group is playing animation.
</summary>
      <returns>
TRUE if there is an animation in progress for this animation controller; otherwise FALSE.
</returns>
      <remarks>
Checks status of animation manager and returns TRUE if the status is UI_ANIMATION_MANAGER_BUSY.
</remarks>
    </member>
    <member name="M:CAnimationController.UpdateAnimationManager">
      <summary>
Directs the animation manager to update the values of all animation variables.
</summary>
      <remarks>
Calling this method advances the animation manager to current time, changing statuses of storyboards as necessary
and updating any animation variables to appropriate interpolated values. Internally this method calls
IUIAnimationTimer::GetTime(timeNow) and IUIAnimationManager::Update(timeNow). Override this method in a derived
class to customize this behavior.
</remarks>
    </member>
    <member name="M:CAnimationController.EnableAnimationTimerEventHandler(System.Int32,__MIDL___MIDL_itf_UIAnimation_0000_0012_0001)">
      <summary>
Sets or releases a handler for timing events and handler for timing updates.
</summary>
      <returns>
TRUE if handlers were successfully set or released; FALSE if this method is called for a second time without
releasing the handlers first, or if any other error occurs.
</returns>
      <remarks>
When the handlers are set (enabled) Windows Animation API calls OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate,
OnRenderingTooSlow methods.
You need to enable animation timers to allow Windows Animation API update storyboards. Otherwise you'll need to
call CAnimationController::UpdateAnimationManager in order to direct the animation manager to update the values
of all animation variables.
</remarks>
      <param name="bEnable">Specifies whether to set or release the handlers.</param>
      <param name="idleBehavior">Specifies idle behavior for timer update handler.</param>
    </member>
    <member name="M:CAnimationController.EnableStoryboardEventHandler(System.UInt32,System.Int32)">
      <summary>
Sets or releases a handler for storyboard status and update events.
</summary>
      <returns>
TRUE if the handler was successfully set or released; FALSE if the specified animation group is now found or
animation for the specified group has not been initiated and its internal storyboard is NULL.
</returns>
      <remarks>
When a handler is set (enabled) Windows Animation API calls OnStoryboardStatusChanges and OnStoryboardUpdated virtual methods.
A handler must be set after CAnimationController::Animate has been called for the specified animation group, because
it creates encapsulated IUIAnimationStoryboard object.
</remarks>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="bEnable">Specifies whether to set or release a handler.</param>
    </member>
    <member name="M:CAnimationController.EnablePriorityComparisonHandler(System.UInt64)">
      <summary>
Sets or releases the priority comparison handler to call to determine whether a scheduled storyboard can be cancelled,
concluded, trimmed or compressed.
</summary>
      <returns>
TRUE if the handler was successfully set or released.
</returns>
      <remarks>
When a handler is set (enabled) Windows Animation calls the following virtual methods depending on dwHandlerType:
OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress.
dwHandler can be a combination of the following flags:
UI_ANIMATION_PHT_NONE - release all handlers
UI_ANIMATION_PHT_CANCEL - set Cancel comparison handler
UI_ANIMATION_PHT_CONCLUDE - set Conclude comparison handler
UI_ANIMATION_PHT_COMPRESS - set Compress comparison handler
UI_ANIMATION_PHT_TRIM - set Trim comparison handler
UI_ANIMATION_PHT_CANCEL_REMOVE - remove Cancel comparison handler
UI_ANIMATION_PHT_CONCLUDE_REMOVE - remove Conclude comparison handler
UI_ANIMATION_PHT_COMPRESS_REMOVE - remove Compress comparison handler
UI_ANIMATION_PHT_TRIM_REMOVE - remove Trim comparison handler
</remarks>
      <param name="dwHandlerType">A combination of UI_ANIMATION_PHT_ flags (see remarks), which specifies what handlers to set or release.</param>
    </member>
    <member name="M:CAnimationController.EnableAnimationManagerEvent(System.Int32)">
      <summary>
Sets or releases a handler to call when animation manager's status changes.
</summary>
      <returns>
TRUE if the handler was successfully set or released.
</returns>
      <remarks>
When a handler is set (enabled) Windows Animation calls OnAnimationManagerStatusChanged when animation manager's status changes.
</remarks>
      <param name="bEnable">Specifies whether to set or release a handler.</param>
    </member>
    <member name="M:CAnimationController.GetKeyframeStoryboardStart">
      <summary>
Returns a keyframe that identifies start of storyboard.
</summary>
      <returns>
A pointer to base keyframe, which identifies start of storyboard.
</returns>
      <remarks>
Obtain this keyframe to base any other keyframes or transitions on the moment in time when a storyboard starts.
</remarks>
    </member>
    <member name="M:CAnimationController.IsValid">
      <summary>
Tells whether animation controller is valid.
</summary>
      <returns>
TRUE if animation controller is valid; otherwise FALSE.
</returns>
      <remarks>
This method returns FALSE only if Windows Animation API is not supported on the current OS and creation of
animation manager failed because it's not registered. You need to call GetUIAnimationManager at least once after initialization of
COM libraries to cause setting of this flag.
</remarks>
    </member>
    <member name="M:CAnimationController.GetUITransitionFactory">
      <summary>
A pointer to IUIAnimationTransitionFactory interface or NULL, if creation of transition library failed.
</summary>
      <returns>
A pointer to IUIAnimationTransitionFactory or NULL, if creation of transition factory failed.
</returns>
      <remarks>
If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls
on CAnimationController::IsValid return FALSE.
</remarks>
    </member>
    <member name="M:CAnimationController.GetUIAnimationTimer">
      <summary>
Provides access to encapsulated IUIAnimationTimer object.
</summary>
      <returns>
A pointer to IUIAnimationTimer interface or NULL, if creation of animation timer failed.
</returns>
      <remarks>
If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls
on CAnimationController::IsValid return FALSE.
</remarks>
    </member>
    <member name="M:CAnimationController.GetUITransitionLibrary">
      <summary>
Provides access to encapsulated IUIAnimationTransitionLibrary object.
</summary>
      <returns>
A pointer to IUIAnimationTransitionLibrary interface or NULL, if creation of transition library failed.
</returns>
      <remarks>
If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls
on CAnimationController::IsValid return FALSE.
</remarks>
    </member>
    <member name="M:CAnimationController.GetUIAnimationManager">
      <summary>
Provides access to encapsulated IUIAnimationManager object.
</summary>
      <returns>
A pointer to IUIAnimationManager interface or NULL, if creation of animation manager failed.
</returns>
      <remarks>
If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls
on CAnimationController::IsValid return FALSE.
You may need to access IUIAnimationManager in order to call its interface methods, which are not wrapped by
animation controller.
</remarks>
    </member>
    <member name="M:CAnimationController.Dispose">
      <summary>
The destructor. Called when animation controller object is being destroyed.
</summary>
    </member>
    <member name="M:CAnimationController.#ctor">
      <summary>
Constructs an animation controller.
</summary>
    </member>
    <member name="F:CAnimationController.g_KeyframeStoryboardStart">
      <summary>
A keyframe that represents start of storyboard.
</summary>
    </member>
    <member name="F:CAnimationController.m_lstAnimationGroups">
      <summary>
A list of animation groups that belong to this animation controller.
</summary>
    </member>
    <member name="F:CAnimationController.m_pRelatedWnd">
      <summary>
A pointer to a related CWnd object, which can be automatically redrawn when
the status of animation manager has changed, or post update event has occurred. Can be NULL.
</summary>
    </member>
    <member name="F:CAnimationController.m_pTransitionFactory">
      <summary>
Stores a pointer to Transition Factory COM object.
</summary>
    </member>
    <member name="F:CAnimationController.m_pAnimationTimer">
      <summary>
Stores a pointer to Animation Timer COM object.
</summary>
    </member>
    <member name="F:CAnimationController.m_pTransitionLibrary">
      <summary>
Stores a pointer to Transition Library COM object.
</summary>
    </member>
    <member name="F:CAnimationController.m_pAnimationManager">
      <summary>
Stores a pointer to Animation Manager COM object.
</summary>
    </member>
    <member name="F:CAnimationController.m_bIsValid">
      <summary>
Specifies whether an animation controller is valid or not.
This member is set to FALSE if current OS does not support Windows Animation API.
</summary>
    </member>
    <member name="T:CAnimationController">
      <summary>
Implements the animation controller, which provides a central interface for creating and managing UI animations.
</summary>
      <remarks>
The CAnimationController class is the key class that manages animations.
You may create one or more instances of animation controller in an application and, optionally, connect an instance of
animation controller to a CWnd object using CAnimationController::SetRelatedWnd. This connection is required to send WM_PAINT messages
to the related window automatically when animation manager status has changed or animation timer has been updated.
If you do not enable this relation, you must redraw a window that displays an animation manually. For this purpose you can derive a class
from CAnimationController and override OnAnimationManagerStatusChanged and/or OnAnimationTimerPostUpdate and invalidate one or
more windows when necessary.
</remarks>
    </member>
    <member name="F:CAnimationGroup.m_bAutodestroyAnimationObjects">
      <summary>
Specifies how to destroy animation objects. If this parameter is TRUE, animation objects will be destroyed automatically
when the group is destroyed. Otherwise animation objects must be destroyed manually. The default value is FALSE.
Set this value to TRUE only if all animation objects that belong to group are allocated dynamically with operator new.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_bAutoclearTransitions">
      <summary>
Specifies how to clear transitions from animation objects that belong to group. If this member is TRUE,
transitions are removed automatically when an animation has been scheduled. Otherwise you need to remove
transitions manually.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_bAutodestroyKeyframes">
      <summary>
Specifies how to destroy keyframes. If this value is TRUE, all keyframes are removed and destroyed;
otherwise they are removed from the list only. The default value is TRUE.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_pStoryboard">
      <summary>
Points to animation storyboard. This pointer is valid only after call on Animate.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_lstKeyFrames">
      <summary>
Contains a list of keyframes.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_lstAnimationObjects">
      <summary>
Contains a list of animation objects.
</summary>
    </member>
    <member name="M:CAnimationGroup.SetAutodestroyTransitions(System.Int32)">
      <summary>
Directs all animation objects that belong to group automatically destroy transitions.
</summary>
      <remarks>
Set this value to FALSE only if you allocate transitions on the stack. The default value is TRUE, therefore
it's highly recommended to allocate transition objects using operator new.
</remarks>
      <param name="bAutoDestroy">Specifies how to destroy transitions.</param>
    </member>
    <member name="M:CAnimationGroup.Schedule(IUIAnimationTimer*,System.Double)">
      <summary>
Schedules an animation at the specified time.
</summary>
      <returns>
TRUE if the method succeeds; FALSE if the method fails or if Animate has not been called with bScheduleNow set to FALSE.
</returns>
      <remarks>
Call this function to schedule an animation at the specified time. You must call Animate with bScheduleNow set to FALSE first.
</remarks>
      <param name="pTimer">A pointer to animation timer.</param>
      <param name="time">Specifies time to schedule the animation.</param>
    </member>
    <member name="M:CAnimationGroup.Animate(IUIAnimationManager*,IUIAnimationTimer*,System.Int32)">
      <summary>
Animates a group.
</summary>
      <returns>
TRUE if the method succeeds; otherwise FALSE.
</returns>
      <remarks>
This method creates an internal storyboard, creates and applies transitions and schedules an animation
if bScheduleNow is TRUE. If bScheduleNow is FALSE, you need to call Schedule to start animation at the
specified time.
</remarks>
      <param name="pManager" />
      <param name="pTimer" />
      <param name="bScheduleNow" />
    </member>
    <member name="M:CAnimationGroup.FindAnimationObject(IUIAnimationVariable*)">
      <summary>
Finds an animation object that contains the specified animation variable.
</summary>
      <returns>
A pointer to animation object, or NULL if animation object is not found.
</returns>
      <param name="pVariable">A pointer to animation variable.</param>
    </member>
    <member name="M:CAnimationGroup.RemoveKeyframes">
      <summary>
Removes and optionally destroys all keyframes that belong to an animation group.
</summary>
      <remarks>
If m_bAutodestroyKeyframes member is TRUE then keyframes are removed and destroyed, otherwise keyframes are
just removed from the internal list of keyframes.
</remarks>
    </member>
    <member name="M:CAnimationGroup.RemoveTransitions">
      <summary>
Removes transitions from animation objects that belong to an animation group.
</summary>
      <remarks>
If m_bAutoclearTransitions flag is set to TRUE, this method loops over all animation objects that belong to the group
and calls CAnimationObject::ClearTransitions(FALSE).
</remarks>
    </member>
    <member name="M:CAnimationGroup.ApplyTransitions">
      <summary>
Applies transitions to animation objects.
</summary>
      <remarks>
This method ASSERTS in debug mode if storyboard has not been created.
It creates all transitions first, then adds "static" keyframes (keyframes that depend on offsets),
adds transitions that do not depend on keyframes, adds keyframes depending on transitions and other keyframes,
and at last adds transitions that depend on keyframes.
</remarks>
    </member>
    <member name="M:CAnimationGroup.GetGroupID">
      <summary>
Returns GroupID.
</summary>
      <returns>
A group identifier.
</returns>
    </member>
    <member name="M:CAnimationGroup.Dispose">
      <summary>
The destructor. Called when an animation group is being destroyed.
</summary>
    </member>
    <member name="M:CAnimationGroup.#ctor(CAnimationController*,System.UInt32)">
      <summary>
Constructs an animation group.
</summary>
      <param name="pParentController">A pointer to animation controller that creates a group.</param>
      <param name="nGroupID">Specifies GroupID.</param>
    </member>
    <member name="M:CAnimationGroup.CreateTransitions">
      <summary>
A helper that creates COM transition objects.
</summary>
      <returns>
TRUE is the method succeeds, otherwise FALSE.
</returns>
    </member>
    <member name="M:CAnimationGroup.AddTransitions(IUIAnimationStoryboard*,System.Int32)">
      <summary>
A helper that adds transitions to a storyboard.
</summary>
      <param name="pStoryboard">A pointer to a storyboard COM object.</param>
      <param name="bDependOnKeyframes">Specifies whether this method should add to the storyboard transitions that depend on other keyframes.</param>
    </member>
    <member name="M:CAnimationGroup.AddKeyframes(IUIAnimationStoryboard*,System.Int32)">
      <summary>
A helper that adds keyframes to a storyboard.
</summary>
      <param name="pStoryboard">A pointer to a storyboard COM object.</param>
      <param name="bAddDeep">Specifies whether this method should add to the storyboard keyframes that depend on other keyframes.</param>
    </member>
    <member name="F:CAnimationGroup.m_pParentController">
      <summary>
A pointer to animation controller this group belongs to.
</summary>
    </member>
    <member name="F:CAnimationGroup.m_nGroupID">
      <summary>
A unique identifier of animation group.
</summary>
    </member>
    <member name="T:CAnimationGroup">
      <summary>
Implements an animation group, which combines an animation storyboard, animation objects and transitions
to define an animation.
</summary>
      <remarks>
Animation groups are created automatically by animation controller (CAnimationController) when you add animation
objects using CAnimationController::AddAnimationObject.
An animation group is identified by GroupID, which is usually taken as a parameter to manipulate animation groups.
The GroupID is taken from the first animation object being added to a new animation group.
An encapsulated animation storyboard is created after you call CAnimationController::AnimateGroup and can be
accessed via public member m_pStoryboard.
</remarks>
    </member>
    <member name="M:CAnimationRect.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Puts the encapsulated animation variables into a list.
</summary>
      <param name="lst">When the function returns, it contains pointers to four CAnimationVariable objects
representing coordinates of rectangle.</param>
    </member>
    <member name="F:CAnimationRect.m_bFixedSize">
      <summary>
Specifies whether the rectangle has fixed size.
</summary>
      <remarks>
If this member is true, then the size of rectangle is fixed and right and bottom values
are recalculated each time the top-left corner is  moved according to the fixed size.
Set this value to TRUE to easily move the rectangle around the screen. In this case transitions applied to
right and bottom coordinates are ignored. The size is stored internally when you construct the object and/or
call SetDefaultValue. By default this member is set to FALSE.
</remarks>
    </member>
    <member name="M:CAnimationRect.AddTransition(CBaseTransition*,CBaseTransition*,CBaseTransition*,CBaseTransition*)">
      <summary>
Adds transitions for left, top, right and bottom coordinates.
</summary>
      <remarks>
Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for each rectangle sides.
When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied
(added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup.
If you don't need to apply a transition to one of the rectangle sides, you can pass NULL.
</remarks>
      <param name="pLeftTransition">Specifies transition for the left side.</param>
      <param name="pTopTransition">Specifies transition for the top side.</param>
      <param name="pRightTransition">Specifies transition for the right side.</param>
      <param name="pBottomTransition">Specifies transition for the bottom side.</param>
    </member>
    <member name="M:CAnimationRect.op_Implicit~tagRECT">
      <summary>
Converts a CAnimationRect to RECT.
</summary>
      <returns>
Current value of animation rectangle as RECT.
</returns>
      <remarks>
This function internally calls GetValue. If GetValue for some reason fails, the returned RECT will contain default values for all rectangle coordinates.
</remarks>
    </member>
    <member name="M:CAnimationRect.op_Assign(tagRECT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Assigns rect to CAnimationRect.
</summary>
      <remarks>
It's recommended to do that before animation start, because this operator calls
SetDefaultValue, which recreates the underlying COM objects for color components if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="rect">The new value of animation rectangle.</param>
    </member>
    <member name="M:CAnimationRect.GetBottom">
      <summary>
Provides access to CAnimationVariable representing bottom coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing bottom coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing the bottom coordinate.
</remarks>
    </member>
    <member name="M:CAnimationRect.GetRight">
      <summary>
Provides access to CAnimationVariable representing right coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing right coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing the right coordinate.
</remarks>
    </member>
    <member name="M:CAnimationRect.GetTop">
      <summary>
Provides access to CAnimationVariable representing top coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing top coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing the top coordinate.
</remarks>
    </member>
    <member name="M:CAnimationRect.GetLeft">
      <summary>
Provides access to CAnimationVariable representing left coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing left coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing the left coordinate.
</remarks>
    </member>
    <member name="M:CAnimationRect.GetValue(CRect*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns current value.
</summary>
      <returns>
TRUE, if the current value was successfully retrieved; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value of animation rectangle. If this method fails or underlying COM objects for
left, top, right and bottom have not been initialized, rect contains default value, which was previously set in constructor or by SetDefaultValue.
</remarks>
      <param name="rect">Output. Contains the current value when this method returns.</param>
    </member>
    <member name="M:CAnimationRect.GetDefaultValue">
      <summary>
Returns the default values for rectangle's bounds.
</summary>
      <returns>
A CRect value containing defaults for left, right, top and bottom.
</returns>
      <remarks>
Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationRect.SetDefaultValue(CRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Sets default value.
</summary>
      <remarks>
Use this function to set a default value to animation object. This methods assigns default values to rectangle's bounds.
It also recreates underlying COM objects if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="rect">Specifies new default values for left, top, right and bottom.</param>
    </member>
    <member name="M:CAnimationRect.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation rect object.
</summary>
      <remarks>
The object is constructed with specified coordinates of each side, Object ID and Group ID. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
      <param name="nLeft">Specifies coordinate of left bound.</param>
      <param name="nTop">Specifies coordinate of top bound.</param>
      <param name="nRight">Specifies coordinate of right bound.</param>
      <param name="nBottom">Specifies coordinate of bottom bound.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationRect.#ctor(CPoint!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation rect object.
</summary>
      <remarks>
The object is constructed with specified top-left corner coordinates and size of rectangle, Object ID and Group ID. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
      <param name="pt">Coordinate of top-left corner.</param>
      <param name="sz">Size of rectangle.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationRect.#ctor(CRect!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation rect object.
</summary>
      <remarks>
The object is constructed with specified rect coordinates, Object ID and Group ID. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
      <param name="rect">Specifies default rectangle.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationRect.#ctor">
      <summary>
Constructs a CAnimationRect object.
</summary>
      <remarks>
The object is constructed with default values for left, top, right and bottom, Object ID and Group ID, which will be set to 0. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
    </member>
    <member name="F:CAnimationRect.m_szInitial">
      <summary>
Specifies initial size of animation rectangle.
</summary>
    </member>
    <member name="F:CAnimationRect.m_bottomValue">
      <summary>
The encapsulated animation variable that represents Bottom bound of animation rectangle.
</summary>
    </member>
    <member name="F:CAnimationRect.m_rightValue">
      <summary>
The encapsulated animation variable that represents Right bound of animation rectangle.
</summary>
    </member>
    <member name="F:CAnimationRect.m_topValue">
      <summary>
The encapsulated animation variable that represents Top bound of animation rectangle.
</summary>
    </member>
    <member name="F:CAnimationRect.m_leftValue">
      <summary>
The encapsulated animation variable that represents Left bound of animation rectangle.
</summary>
    </member>
    <member name="T:CAnimationRect">
      <summary>
Implements the functionality of a rectangle whose top, left, right and bottom sides can be animated.
</summary>
      <remarks>
The CAnimationRect class encapsulates four CAnimationVariable objects and can represent in applications
a rectangle.
To use this class in application, just instantiate an object of this class, add it to animation controller using
CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to left, right top and bottom coordinates.
</remarks>
    </member>
    <member name="M:CAnimationColor.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Puts the encapsulated animation variables into a list.
</summary>
      <param name="lst">When the function returns, it contains pointers to three CAnimationVariable objects
representing red, green and blue components.</param>
    </member>
    <member name="M:CAnimationColor.AddTransition(CBaseTransition*,CBaseTransition*,CBaseTransition*)">
      <summary>
Adds transitions for Red, Green and Blue components.
</summary>
      <remarks>
Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables representing color components.
When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied
(added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup.
If you don't need to apply a transition to one of the color components, you can pass NULL.
</remarks>
      <param name="pRTransition">Transition for Red component.</param>
      <param name="pGTransition">Transition for Green component.</param>
      <param name="pBTransition">Transition for Blue component.</param>
    </member>
    <member name="M:CAnimationColor.op_Implicit~System.UInt32!System.Runtime.CompilerServices.IsLong">
      <summary>
Converts a CAnimationColor to COLORREF.
</summary>
      <returns>
Current value of animation color object as COLORREF.
</returns>
      <remarks>
This function internally calls GetValue. If GetValue for some reason fails, the returned COLORREF will contain default values for all color components.
</remarks>
    </member>
    <member name="M:CAnimationColor.op_Assign(System.UInt32!System.Runtime.CompilerServices.IsLong)">
      <summary>
Assigns color to CAnimationColor.
</summary>
      <remarks>
It's recommended to do that before animation start, because this operator calls
SetDefaultValue, which recreates the underlying COM objects for color components if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="color">Specifies new value Animation Color.</param>
    </member>
    <member name="M:CAnimationColor.GetB">
      <summary>
Provides access to CAnimationVariable representing Blue component.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Blue component.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Blue component.
</remarks>
    </member>
    <member name="M:CAnimationColor.GetG">
      <summary>
Provides access to CAnimationVariable representing Green component.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Green component.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Green component.
</remarks>
    </member>
    <member name="M:CAnimationColor.GetR">
      <summary>
Provides access to CAnimationVariable representing Red component.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Red component.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Red component.
</remarks>
    </member>
    <member name="M:CAnimationColor.GetValue(System.UInt32!System.Runtime.CompilerServices.IsLong*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns current value.
</summary>
      <returns>
TRUE, if the current value was successfully retrieved; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value of animation color. If this method fails or underlying COM objects for
color components have not been initialized, color contains default value, which was previously set in constructor or by SetDefaultValue.
</remarks>
      <param name="color">Output. Contains the current value when this method returns.</param>
    </member>
    <member name="M:CAnimationColor.GetDefaultValue">
      <summary>
Returns the default values for color components.
</summary>
      <returns>
A COLORREF value containing defaults for RGB components.
</returns>
      <remarks>
Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationColor.SetDefaultValue(System.UInt32!System.Runtime.CompilerServices.IsLong)">
      <summary>
Sets default value.
</summary>
      <remarks>
Use this function to set a default value to animation object. This methods assigns default values to color components
of animation color. It also recreates underlying COM objects if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="color">Specifies new default values for red, green and blue components.</param>
    </member>
    <member name="M:CAnimationColor.#ctor(System.UInt32!System.Runtime.CompilerServices.IsLong,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation color object.
</summary>
      <remarks>
The object is constructed with specified values for RGB components, Object ID and Group ID. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
      <param name="color">Specifies default color.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationColor.#ctor">
      <summary>
Constructs a CAnimationColor object.
</summary>
      <remarks>
The object is constructed with default values for red, green, blue, Object ID and Group ID, which will be set to 0. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
    </member>
    <member name="F:CAnimationColor.m_bValue">
      <summary>
The encapsulated animation variable that represents Blue component of animation color.
</summary>
    </member>
    <member name="F:CAnimationColor.m_gValue">
      <summary>
The encapsulated animation variable that represents Green component of animation color.
</summary>
    </member>
    <member name="F:CAnimationColor.m_rValue">
      <summary>
The encapsulated animation variable that represents Red component of animation color.
</summary>
    </member>
    <member name="T:CAnimationColor">
      <summary>
Implements the functionality of a color whose red, green and blue components can be animated.
</summary>
      <remarks>
The CAnimationColor class encapsulates three CAnimationVariable objects and can represent in applications
a color. For example, you can use this class to animate colors of any object on the screen (like text color, background color etc).
To use this class in application, just instantiate an object of this class, add it to animation controller using
CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to Red, Green and Blue components.
</remarks>
    </member>
    <member name="M:CAnimationSize.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Puts the encapsulated animation variables into a list.
</summary>
      <param name="lst">When the function returns, it contains pointers to two CAnimationVariable objects
representing the width and height.</param>
    </member>
    <member name="M:CAnimationSize.AddTransition(CBaseTransition*,CBaseTransition*)">
      <summary>
Adds transitions for Width and Height.
</summary>
      <remarks>
Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for Width and Height.
When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied
(added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup.
If you don't need to apply a transition to one of dimensions, you can pass NULL.
</remarks>
      <param name="pCXTransition">A pointer to transition for Width.</param>
      <param name="pCYTransition">A pointer to transition for Height.</param>
    </member>
    <member name="M:CAnimationSize.op_Implicit~CSize">
      <summary>
Converts a CAnimationSize to a CSize.
</summary>
      <returns>
Current value of animation size as CSize.
</returns>
      <remarks>
This function internally calls GetValue. If GetValue for some reason fails, the returned size will contain default values for Width and Height.
</remarks>
    </member>
    <member name="M:CAnimationSize.op_Assign(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Assigns szSrc to CAnimationSize.
</summary>
      <remarks>
Assigns szSrc to CAnimationSize. It's recommended to do that before animation start, because this operator calls
SetDefaultValue, which recreates the underlying COM objects for Width and Height if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="szSrc">Refers to CSize or SIZE.</param>
    </member>
    <member name="M:CAnimationSize.GetCY">
      <summary>
Provides access to CAnimationVariable representing Height.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Height.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Height.
</remarks>
    </member>
    <member name="M:CAnimationSize.GetCX">
      <summary>
Provides access to CAnimationVariable representing Width.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Width.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Width.
</remarks>
    </member>
    <member name="M:CAnimationSize.GetValue(CSize*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns current value.
</summary>
      <returns>
TRUE, if the current value was successfully retrieved; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value of animation size. If this method fails or underlying COM objects for
Width and Size have not been initialized, szValue contains default value, which was previously set in constructor or by SetDefaultValue.
</remarks>
      <param name="szValue">Output. Contains the current value when this method returns.</param>
    </member>
    <member name="M:CAnimationSize.GetDefaultValue">
      <summary>
Returns the default values for Width and Height.
</summary>
      <returns>
A CSize object containing default values.
</returns>
      <remarks>
Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationSize.SetDefaultValue(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Sets default value.
</summary>
      <remarks>
Use this function to set a default value to animation object. This methods assigns default values to Width and Height
of animation size. It also recreates underlying COM objects if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="szDefault">Specifies new default size.</param>
    </member>
    <member name="M:CAnimationSize.#ctor(CSize!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation size object.
</summary>
      <remarks>
The object is constructed with specified values for width, height, Object ID and Group ID. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
      <param name="szDefault">Specifies default size.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationSize.#ctor">
      <summary>
Constructs an animation size object.
</summary>
      <remarks>
The object is constructed with default values for width, height, Object ID and Group ID, which will be set to 0. They can be changed
later at runtime using SetDefaultValue and SetID.
</remarks>
    </member>
    <member name="F:CAnimationSize.m_cyValue">
      <summary>
The encapsulated animation variable that represents height of animation size.
</summary>
    </member>
    <member name="F:CAnimationSize.m_cxValue">
      <summary>
The encapsulated animation variable that represents width of animation size.
</summary>
    </member>
    <member name="T:CAnimationSize">
      <summary>
Implements the functionality of a size object whose dimensions can be animated.
</summary>
      <remarks>
The CAnimationSize class encapsulates two CAnimationVariable objects and can represent in applications
a size. For example, you can use this class to animate a size of any two dimensional object on the screen (like rectangle, control etc).
To use this class in application, just instantiate an object of this class, add it to animation controller using
CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to Width and/or Height.
</remarks>
    </member>
    <member name="M:CAnimationPoint.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Puts the encapsulated animation variables into a list.
</summary>
      <param name="lst">When the function returns, it contains pointers to two CAnimationVariable objects
representing the X and Y coordinates.</param>
    </member>
    <member name="M:CAnimationPoint.AddTransition(CBaseTransition*,CBaseTransition*)">
      <summary>
Adds transitions for X and Y coordinates.
</summary>
      <remarks>
Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for X and Y coordinates.
When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied
(added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup.
If you don't need to apply a transition to one of coordinates, you can pass NULL.
</remarks>
      <param name="pXTransition">A pointer to transition for X coordinates.</param>
      <param name="pYTransition">A pointer to transition for Y coordinate.</param>
    </member>
    <member name="M:CAnimationPoint.GetY">
      <summary>
Provides access to CAnimationVariable for Y coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing Y coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing Y coordinate.
</remarks>
    </member>
    <member name="M:CAnimationPoint.GetX">
      <summary>
Provides access to CAnimationVariable for X coordinate.
</summary>
      <returns>
A reference to encapsulated CAnimationVariable representing X coordinate.
</returns>
      <remarks>
You can call this method to get direct access to underlying CAnimationVariable representing X coordinate.
</remarks>
    </member>
    <member name="M:CAnimationPoint.op_Implicit~CPoint">
      <summary>
Converts a CAnimationPoint to a CPoint.
</summary>
      <returns>
Current value of CAnimationPoint as CPoint.
</returns>
      <remarks>
This function internally calls GetValue. If GetValue for some reason fails, the returned point will contain default values for X and Y coordinates.
</remarks>
    </member>
    <member name="M:CAnimationPoint.op_Assign(CPoint!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Assigns ptSrc to CAnimationPoint.
</summary>
      <remarks>
Assigns ptSrc to CAnimationPoint. It's recommended to do that before animation start, because this operator calls
SetDefaultValue, which recreates the underlying COM objects for X and Y coordinates if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="ptSrc">Refers to CPoint or POINT.</param>
    </member>
    <member name="M:CAnimationPoint.GetValue(CPoint*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns current value.
</summary>
      <returns>
TRUE, if the current value was successfully retrieved; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value of animation point. If this method fails or underlying COM objects for
X and Y coordinates have not been initialized, ptValue contains default
value, which was previously set in constructor or by SetDefaultValue.
</remarks>
      <param name="ptValue">Output. Contains the current value when this method returns.</param>
    </member>
    <member name="M:CAnimationPoint.GetDefaultValue">
      <summary>
Returns the default values for X and Y coordinates.
</summary>
      <returns>
A point containing default value.
</returns>
      <remarks>
Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationPoint.SetDefaultValue(tagPOINT!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Sets default value.
</summary>
      <remarks>
Use this function to set a default value to animation object. This methods assigns default values to X and Y
coordinates of animation point. It also recreates underlying COM objects if they have been created. If you
subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="ptDefault">Specifies the default point value.</param>
    </member>
    <member name="M:CAnimationPoint.#ctor(CPoint!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs CAnimationPoint object.
</summary>
      <remarks>
Constructs CAnimationPoint object with specified properties.
</remarks>
      <param name="ptDefault">Specifies default point coordinates.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">Specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationPoint.#ctor">
      <summary>
Constructs CAnimationPoint object.
</summary>
      <remarks>
Constructs CAnimationPoint object with default properties: default point coordinates, Group ID and Object ID are set to 0.
</remarks>
    </member>
    <member name="F:CAnimationPoint.m_yValue">
      <summary>
The encapsulated animation variable that represents Y coordinate of animation point.
</summary>
    </member>
    <member name="F:CAnimationPoint.m_xValue">
      <summary>
The encapsulated animation variable that represents X coordinate of animation point.
</summary>
    </member>
    <member name="T:CAnimationPoint">
      <summary>
Implements the functionality of a point whose coordinates can be animated.
</summary>
      <remarks>
The CAnimationPoint class encapsulates two CAnimationVariable objects and can represent in applications
a point. For example, you can use this class to animate a position of any object on the screen (like text string, circle, point etc).
To use this class in application, just instantiate an object of this class, add it to animation controller using
CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to X and/or Y coordinates.
</remarks>
    </member>
    <member name="M:CAnimationValue.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Puts the encapsulated animation variable into a list.
</summary>
      <param name="lst">When the function returns, it contains a pointer to CAnimationVariable representing the animated value.</param>
    </member>
    <member name="M:CAnimationValue.AddTransition(CBaseTransition*)">
      <summary>
Adds a transition to be applied to a value.
</summary>
      <remarks>
Call this function to add a transition to internal list of transitions to be applied to an animation variable.
When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied
(added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup.
</remarks>
      <param name="pTransition">A pointer to transition object.</param>
    </member>
    <member name="M:CAnimationValue.GetVariable">
      <summary>
Provides access to encapsulated animation variable.
</summary>
      <returns>
A reference to encapsulated animation variable.
</returns>
      <remarks>
Use this method to access the encapsulated animation variable. From CAnimationVariable you get access
to underlying IUIAnimationVariable object, whose pointer can be NULL if animation variable has not been created.
</remarks>
    </member>
    <member name="M:CAnimationValue.op_Assign(System.Int32)">
      <summary>
Assigns an INT32 value to CAnimationValue.
</summary>
      <remarks>
Assigns an INT32 value to CAnimationValue. This value is set as a default value for encapsulated animation variable.
If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="nVal">Specifies the value to be assigned to Animation Value.</param>
    </member>
    <member name="M:CAnimationValue.op_Assign(System.Double)">
      <summary>
Assigns a DOUBLE value to CAnimationValue.
</summary>
      <remarks>
Assigns a DOUBLE value to CAnimationValue. This value is set as a default value for encapsulated animation variable.
If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events.
</remarks>
      <param name="dblVal">Specifies the value to be assigned to Animation Value.</param>
    </member>
    <member name="M:CAnimationValue.op_Implicit~System.Int32">
      <summary>
Provides conversion between CAnimationValue and INT32.
</summary>
      <returns>
Current value of Animation Value as integer.
</returns>
      <remarks>
Provides conversion between CAnimationValue and INT32. This method internally calls GetValue and doesn't check for
errors. If GetValue fails, the returned value will contain a default value previously set in constructor or with SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationValue.op_Implicit~System.Double">
      <summary>
Provides conversion between CAnimationValue and DOUBLE.
</summary>
      <returns>
Current value of Animation Value.
</returns>
      <remarks>
Provides conversion between CAnimationValue and DOUBLE. This method internally calls GetValue and doesn't check for
errors. If GetValue fails, the returned value will contain a default value previously set in constructor or with SetDefaultValue.
</remarks>
    </member>
    <member name="M:CAnimationValue.GetValue(System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Retrieves the current value.
</summary>
      <returns>
TRUE if the current value was retrieved successfully; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value. This implementation calls the encapsulated COM object, and if
the call fails, this method returns the default value that was previously set in constructor or with SetDefaultValue.
</remarks>
      <param name="nValue">Output. When the function returns it contains a current value of animation variable.</param>
    </member>
    <member name="M:CAnimationValue.GetValue(System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Retrieves the current value.
</summary>
      <returns>
TRUE if the current value was retrieved successfully; otherwise FALSE.
</returns>
      <remarks>
Call this function to retrieve the current value. This implementation calls the encapsulated COM object, and if
the call fails, this method returns the default value that was previously set in constructor or with SetDefaultValue.
</remarks>
      <param name="dblValue">Output. When the function returns it contains a current value of animation variable.</param>
    </member>
    <member name="M:CAnimationValue.SetDefaultValue(System.Double)">
      <summary>
Sets default value.
</summary>
      <remarks>
Use this method to set a default value. A default value is returned to application when animation has not been started
and/or underlying COM object has not been created. If the underlying COM object encapsulated in CAnimationVarible
was already created, this method recreates it, therefore you might need to call EnableValueChanged/EnableIntegerValueChanged
methods again.
</remarks>
      <param name="dblDefaultValue">Specifies the default value.</param>
    </member>
    <member name="M:CAnimationValue.#ctor(System.Double,System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs a CAnimationValue object.
</summary>
      <remarks>
Constructs CAnimationValue object with specified properties.
</remarks>
      <param name="dblDefaultValue">Specifies default value.</param>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">specifies user-defined data.</param>
    </member>
    <member name="M:CAnimationValue.#ctor">
      <summary>
Constructs a CAnimationValue object.
</summary>
      <remarks>
Constructs CAnimationValue object with default properties: default value, Group ID and Object ID are set to 0.
</remarks>
    </member>
    <member name="F:CAnimationValue.m_value">
      <summary>
The encapsulated animation variable that represents animation value.
</summary>
    </member>
    <member name="T:CAnimationValue">
      <summary>
Implements the functionality of animation object with one value.
</summary>
      <remarks>
The CAnimationValue class encapsulates a single CAnimationVariable object and can represent in applications
a single animated value. For example, you can use this class for animated transparency (fade effect), angle (to rotate objects),
or for any other case when you need to create an animation depending on a single animated value.
To use this class in application, just instantiate an object of this class, add it to animation controller using
CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to the value.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.SetParentAnimationObjects">
      <summary>
Establishes relationship between animation variables, contained in an animation object, and their container.
</summary>
      <remarks>
This is a helper that can be used to establish relationship between animation variables, contained in an animation object,
and their container. It loops over animation variables and sets a back pointer to a parent animation object
to each animation variable.
In the current implementation the actual relationship is established in CAnimationBaseObject::ApplyTransitions, therefore
back pointers are not set until you call CAnimationGroup::Animate.
Knowing the relationship may be helpful when you processing events and need to get a parent animation object
from CAnimationVariable (use CAnimationVariable::GetParentAnimationObject).
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.GetAnimationVariableList(CList&lt;CAnimationVariable**,CAnimationVariable**&gt;*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Collects pointers to contained animation variables.
</summary>
      <remarks>
This is a pure virtual method that must be overridden in a derived class.
An animation object, depending on its type, contains one or more animation variables. For example, CAnimationPoint
contains two variables, for X and Y coordinates respectively. The base class CAnimationBaseObject implements
some generic methods, which act on a list of animation variables: ApplyTransitions, ClearTransitions,
EnableValueChangedEvent, EnableIntegerValueChangedEvent. These methods call GetAnimationVariableList, which is filled
in a derived class with actual animation variables contained in a particular animation object, then loop over the
list and perform necessary actions.
If you create a custom animation object, you must add to lst all animation variables contained in that object.
</remarks>
      <param name="lst">A list that must be filled with animation variables contained in an animation object.</param>
    </member>
    <member name="M:CAnimationBaseObject.ContainsVariable(IUIAnimationVariable*)">
      <summary>
Determines whether an animation object contains a particular animation variable.
</summary>
      <returns>
TRUE if the animation variable is contained in the animation object; otherwise FALSE.
</returns>
      <remarks>
This method can be used to determine whether an animation variable specified by pVariable is contained
within an animation object. An animation object, depending on its type, may contain several animation variables.
For example, CAnimationColor contains three variables, one for each color component (red, green and blue). When a
value of animation variable has changed, Windows Animation API sends ValueChanged or IntegerValueChanged events (if enabled),
and the parameter of this event is a pointer to interface IUIAnimationVariable of animation variable.
This method helps to obtain a pointer to animation from a pointer to contained COM object.
</remarks>
      <param name="pVariable">A pointer to animation variable.</param>
    </member>
    <member name="M:CAnimationBaseObject.EnableIntegerValueChangedEvent(CAnimationController*,System.Int32)">
      <summary>
Sets up Integer Value Changed event handler.
</summary>
      <remarks>
If the Integer Value Changed event handler is enabled, you can handle this event in CAnimationController::OnAnimationIntegerValueChanged method,
which should be overridden in a CAnimationController-derived class. This method is called every time the animation integer value has changed.
</remarks>
      <param name="pController">A pointer to a parent controller.</param>
      <param name="bEnable">Specifies whether to enable, or disable Integer Value Changed event.</param>
    </member>
    <member name="M:CAnimationBaseObject.EnableValueChangedEvent(CAnimationController*,System.Int32)">
      <summary>
Sets up Value Changed event handler.
</summary>
      <remarks>
If the Value Changed event handler is enabled, you can handle this event in CAnimationController::OnAnimationValueChanged method,
which should be overridden in a CAnimationController-derived class. This method is called every time the animation value has changed.
</remarks>
      <param name="pController">A pointer to a parent controller.</param>
      <param name="bEnable">Specifies whether to enable, or disable Value Changed event.</param>
    </member>
    <member name="M:CAnimationBaseObject.ClearTransitions(System.Int32)">
      <summary>
Removes all related transitions.
</summary>
      <remarks>
Removes all related transitions and destroys them if bAutodestroy or m_bAutodestroyTransitions flag is TRUE.
Transitions should be destroyed automatically only if they are not allocated on the stack.
If the above flags are FALSE, transitions are just removed from the internal list of related transitions.
</remarks>
      <param name="bAutodestroy">Specifies whether to destroy transition objects automatically, or just remove them from the related list.</param>
    </member>
    <member name="M:CAnimationBaseObject.ApplyTransitions(IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds transitions to storyboard with encapsulated animation variable.
</summary>
      <returns>
TRUE if transitions were added successfully.
</returns>
      <remarks>
Adds related transitions, that have been added with AddTransition (overloaded methods in derived classes), to storyboard.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
      <param name="bDependOnKeyframes">With FALSE this method adds only those transitions that do not depend on keyframes.</param>
    </member>
    <member name="M:CAnimationBaseObject.GetAutodestroyTransitions">
      <summary>
Tells whether related transition are destroyed automatically.
</summary>
      <returns>
If TRUE, related transitions are destroyed automatically; if FALSE, transition objects should be deallocated by calling application.
</returns>
      <remarks>
By default this flag is TRUE. Set this flag only if you allocated transition on the stack and/or transitions should be deallocated by
the calling application.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.SetAutodestroyTransitions(System.Int32)">
      <summary>
Sets a flag that orders to automatically destroy transitions.
</summary>
      <remarks>
Set this flag only if you allocated transition objects using operator new. If for some reason transition
objects are allocated on the stack, the auto destroy flag should be FALSE. By default this flag is TRUE.
</remarks>
      <param name="bValue">Specifies the auto destroy flag.</param>
    </member>
    <member name="M:CAnimationBaseObject.GetUserData">
      <summary>
Returns user defined data.
</summary>
      <returns>
A value of custom data.
</returns>
      <remarks>
Call this method to retrieve the custom data at runtime. The returned value will be 0 if it was not explicitly initialized in constructor or with SetUserData.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.GetGroupID">
      <summary>
Returns current Group ID.
</summary>
      <returns>
Current Group ID.
</returns>
      <remarks>
Use this method to retrieve Group ID. It's 0 if Group ID has not been set explicitly in constructor or with SetID.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.GetObjectID">
      <summary>
Returns current Object ID.
</summary>
      <returns>
Current Object ID.
</returns>
      <remarks>
Use this method to retrieve Object ID. It's 0 if Object ID has not been set explicitly in constructor or with SetID.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.DetachFromController">
      <summary>
Detaches an animation object from parent animation controller.
</summary>
      <remarks>
This method is used internally.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.SetUserData(System.UInt64)">
      <summary>
Sets user-defined data.
</summary>
      <remarks>
Use this method to associate a custom data with an animation object. This data may be retrieved later at runtime by GetUserData.
</remarks>
      <param name="dwUserData">Specifies the custom data.</param>
    </member>
    <member name="M:CAnimationBaseObject.SetID(System.UInt32,System.UInt32)">
      <summary>
Sets new IDs.
</summary>
      <remarks>
Allows to change Object ID and Group ID. If the new Group ID differs from the current ID, an animation object
is moved to another group (a new group will be created, if necessary).
</remarks>
      <param name="nObjectID">Specifies new Object ID.</param>
      <param name="nGroupID">Specifies new Group ID.</param>
    </member>
    <member name="M:CAnimationBaseObject.CreateTransitions">
      <summary>
Creates transitions associated with an animation object.
</summary>
      <returns>
TRUE if transitions were created successfully; otherwise FALSE.
</returns>
      <remarks>
Loops over list of animation variables encapsulated in a derived animation object and creates transitions
associated with each animation variable.
</remarks>
    </member>
    <member name="M:CAnimationBaseObject.Dispose">
      <summary>
The destructor. Called when an animation object is being destroyed.
</summary>
    </member>
    <member name="M:CAnimationBaseObject.#ctor(System.UInt32,System.UInt32,System.UInt64)">
      <summary>
Constructs an animation object.
</summary>
      <remarks>
Constructs an animation object with specified Object ID and Group ID.
</remarks>
      <param name="nGroupID">Specifies Group ID.</param>
      <param name="nObjectID">Specifies Object ID.</param>
      <param name="dwUserData">User-defined data, which can be associated with animation object and retrieved later at runtime.</param>
    </member>
    <member name="M:CAnimationBaseObject.#ctor">
      <summary>
Constructs an animation object.
</summary>
      <remarks>
Constructs an animation objects and assigns default Object ID (0) and Group ID (0).
</remarks>
    </member>
    <member name="F:CAnimationBaseObject.m_pParentController">
      <summary>
A pointer to the parent animation controller.
</summary>
    </member>
    <member name="F:CAnimationBaseObject.m_bAutodestroyTransitions">
      <summary>
Specifies whether related transitions should be automatically destroyed.
</summary>
    </member>
    <member name="F:CAnimationBaseObject.m_dwUserData">
      <summary>
Stores user-defined data.
</summary>
    </member>
    <member name="F:CAnimationBaseObject.m_nObjectID">
      <summary>
Specifes the Object ID of the animation object.
</summary>
    </member>
    <member name="F:CAnimationBaseObject.m_nGroupID">
      <summary>
Specifies the Group ID of the animation object.
</summary>
    </member>
    <member name="T:CAnimationBaseObject">
      <summary>
The base class for all animation objects.
</summary>
      <remarks>
This class implements basic methods for all animation objects. An animation object can represent a value, point,
size, rectangle or color in an application, as well as any custom entity. Animation objects are stored in animation groups
(see CAnimationGroup). Each group can be animated separately and can be treated as an analogue of storyboard.
An animation object encapsulates one or more animation variables (see CAnimationVariable), depending on its logical
representation. For example, CAnimationRect contains four animation variables - one variable for each side of rectangle.
Each animation object class exposes overloaded AddTransition method, which should be used to apply transitions to
encapsulated animation variables.
An animation object can be identified by Object ID (optionally) and by Group ID. A Group ID is necessary in order
to place an animation object to correct group, but if a Group ID is not specified, an object is placed in the default group with ID 0.
If you call SetID with different GroupID, an animation object will be moved to another group (a new group is created if necessary).
</remarks>
    </member>
    <member name="F:CAnimationVariable.m_bAutodestroyTransitions">
      <summary>
Specifies whether related transition objects should be deleted.
</summary>
      <remarks>
Set this value to TRUE to force deletion of transition objects when they are being removed from the internal list
of transitions. If this value is FALSE the transitions should be deleted by calling application.
The list of transitions is always cleared after an animation has been scheduled. The default value is FALSE.
</remarks>
    </member>
    <member name="M:CAnimationVariable.GetDefaultValue">
      <summary>
Returns default value.
</summary>
      <returns>
The default value.
</returns>
      <remarks>
Use this function to obtain default value of animation variable. The default value can be set in constructor or by
SetDefaultValue method.
</remarks>
    </member>
    <member name="M:CAnimationVariable.EnableIntegerValueChangedEvent(CAnimationController*,System.Int32)">
      <summary>
Enables or disables the IntegerValueChanged event.
</summary>
      <remarks>
When ValueChanged event is enabled, the framework calls virtual method CAnimationController::OnAnimationIntegerValueChanged.
You need to override it in a class derived from CAnimationController in order to process this event. This method is called every time
the integer value of animation variable is changed.
</remarks>
      <param name="pController">A pointer to parent controller.</param>
      <param name="bEnable">TRUE - enable event, FALSE - disable event.</param>
    </member>
    <member name="M:CAnimationVariable.EnableValueChangedEvent(CAnimationController*,System.Int32)">
      <summary>
Enables or disables the ValueChanged event.
</summary>
      <remarks>
When ValueChanged event is enabled, the framework calls virtual method CAnimationController::OnAnimationValueChanged.
You need to override it in a class derived from CAnimationController in order to process this event. This method is called every time
the value of animation variable is changed.
</remarks>
      <param name="pController">A pointer to parent controller.</param>
      <param name="bEnable">TRUE - enable event, FALSE - disable event.</param>
    </member>
    <member name="M:CAnimationVariable.ApplyTransitions(CAnimationController*,IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds transitions from the internal list to storyboard.
</summary>
      <remarks>
This method adds transitions from the internal list to storyboard. It's called from the
top level code several times to add transitions that do not depend on keyframes and add
transitions that depend on keyframes. If the underlying animation variable
COM object has not been created, this method creates it at this stage.
</remarks>
      <param name="pController">A pointer to parent animation controller.</param>
      <param name="pStoryboard">A pointer to storyboard.</param>
      <param name="bDependOnKeyframes">TRUE, if this method should add transitions that depend on keyframes.</param>
    </member>
    <member name="M:CAnimationVariable.ClearTransitions(System.Int32)">
      <summary>
Clears transitions.
</summary>
      <remarks>
This method removes all transitions from the internal list of transitions. If bAutodestroy is TRUE, or
m_bAutodestroyTransitions is TRUE, then transitions are deleted. Otherwise the caller should deallocate
the transition objects.
</remarks>
      <param name="bAutodestroy">Specifies whether this method should delete transition objects.</param>
    </member>
    <member name="M:CAnimationVariable.AddTransition(CBaseTransition*)">
      <summary>
Adds a transition.
</summary>
      <remarks>
This method is called to add a transition to the internal list of transitions to be applied to the animation variable.
This list should be cleared when an animation has been scheduled.
</remarks>
      <param name="pTransition">A pointer to a transition to add.</param>
    </member>
    <member name="M:CAnimationVariable.GetValue(System.Int32*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns the current value of animation variable.
</summary>
      <returns>
S_OK if the value was obtained successfully, or underlying animation variable has not been created. Otherwise
HRESULT error code.
</returns>
      <remarks>
This method can be called to retrieve the current value of animation variable. If the underlying COM object
has not been created, dblValue will contain a default value, when the function returns.
</remarks>
      <param name="nValue">The current value of the animation variable.</param>
    </member>
    <member name="M:CAnimationVariable.GetValue(System.Double*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">
      <summary>
Returns the current value of animation variable.
</summary>
      <returns>
S_OK if the value was obtained successfully, or underlying animation variable has not been created. Otherwise
HRESULT error code.
</returns>
      <remarks>
This method can be called to retrieve the current value of animation variable. If the underlying COM object
has not been created, dblValue will contain a default value, when the function returns.
</remarks>
      <param name="dblValue">The current value of the animation variable.</param>
    </member>
    <member name="M:CAnimationVariable.CreateTransitions(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Creates all transitions to be applied to this animation variable.
</summary>
      <returns>
TRUE if transitions were created successfully; otherwise FALSE.
</returns>
      <remarks>
This method is called by the framework when it needs to create transitions that have been added
to the variable's internal list of transitions.
</remarks>
      <param name="pLibrary">A pointer to transition library.</param>
      <param name="pFactory">A pointer to transition factory.</param>
    </member>
    <member name="M:CAnimationVariable.Create(IUIAnimationManager*)">
      <summary>
Creates the underlying animation variable COM object.
</summary>
      <returns>
TRUE if the animation variable was successfully created; otherwise FALSE.
</returns>
      <remarks>
This method creates the underlying animation variable COM object and sets its default value.
</remarks>
      <param name="pManager">A pointer to animation manager.</param>
    </member>
    <member name="M:CAnimationVariable.SetDefaultValue(System.Double)">
      <summary>
Sets default value and releases IUIAnimationVariable COM object.
</summary>
      <remarks>
Use this method to reset the default value. This method releases the internal IUIAnimationVariable COM object,
therefore when animation variable is recreated, the underlying COM object gets the new default value.
The default value is returned by GetValue if the COM object representing the animation variable is not created,
or if the variable has not been animated.
</remarks>
      <param name="dblDefaultValue">Specifies the new default value.</param>
    </member>
    <member name="M:CAnimationVariable.GetVariable">
      <summary>
Returns a pointer to IUIAnimationVariable COM object.
</summary>
      <returns>
A valid pointer to IUIAnimationVariable COM object, or NULL if animation variable was not created, or can't be created.
</returns>
      <remarks>
Use this function to access the underlying IUIAnimationVariable COM object and call its methods directly if needed.
</remarks>
    </member>
    <member name="M:CAnimationVariable.GetParentAnimationObject">
      <summary>
Returns the parent animation object.
</summary>
      <returns>
A pointer to parent animation object, if relationship was established, otherwise NULL.
</returns>
      <remarks>
This method can be called to retrieve a pointer to a parent animation object (a container).
</remarks>
    </member>
    <member name="M:CAnimationVariable.Dispose">
      <summary>
The destructor. Called when a CAnimationVariable object is being destroyed.
</summary>
    </member>
    <member name="M:CAnimationVariable.#ctor(System.Double)">
      <summary>
Constructs an animation variable object.
</summary>
      <remarks>
Constructs an animation variable object and sets its default value. A default value is used when
a variable is not animated, or can't be animated.
</remarks>
      <param name="dblDefaultValue">Specifies the default value.</param>
    </member>
    <member name="M:CAnimationVariable.SetParentAnimationObject(CAnimationBaseObject*)">
      <summary>
Sets the relationship between an animation variable and an animation object.
</summary>
      <remarks>
This method is called internally to establish one-to-one relationship between an animation variable and an animation object that encapsulates it.
</remarks>
      <param name="pParentObject">A pointer to an animation object that contains this variable.</param>
    </member>
    <member name="F:CAnimationVariable.m_pParentObject">
      <summary>
A pointer to an animation object that encapsulates this animation variable.
</summary>
    </member>
    <member name="F:CAnimationVariable.m_lstTransitions">
      <summary>
Contains a list of transitions that animate this animation variable.
</summary>
    </member>
    <member name="F:CAnimationVariable.m_dblDefaultValue">
      <summary>
Specifies the default value, which is propagated to IUIAnimationVariable.
</summary>
    </member>
    <member name="F:CAnimationVariable.m_variable">
      <summary>
Stores a pointer to IUIAnimationVariable COM object. NULL if the COM object has not been created yet, or if creation failed.
</summary>
    </member>
    <member name="T:CAnimationVariable">
      <summary>
Represents an animation variable.
</summary>
      <remarks>
The CAnimationVariable class encapsulates IUIAnimationVariable COM object. It also holds a list of transitions
to be applied to the animation variable in a storyboard. CAnimationVariable objects are embedded to
animation objects, which can represent in an application an animated value, point, size, color and rectangle.
</remarks>
    </member>
    <member name="M:CKeyFrame.AddToStoryboardAtOffset(IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds a keyframe to storyboard at offset.
</summary>
      <returns>
TRUE, if keyframe was added successfully.
</returns>
      <remarks>
This function is called by the framework to add a keyframe to storyboard at offset.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
      <param name="bDeepAdd">Specifies whether to add a keyframe this keyframe depend on recursively.</param>
    </member>
    <member name="M:CKeyFrame.AddToStoryboardAfterTransition(IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds a keyframe to storyboard after transition.
</summary>
      <returns>
TRUE, if keyframe was added successfully.
</returns>
      <remarks>
This function is called by the framework to add a keyframe to storyboard after transition.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
      <param name="bDeepAdd">Specifies whether to add a transition recursively.</param>
    </member>
    <member name="M:CKeyFrame.AddToStoryboard(IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds a keyframe to a storyboard.
</summary>
      <returns>
TRUE, if keyframe was added successfully.
</returns>
      <remarks>
This method adds a keyframe to storyboard. If it depends on other keyframe or transition and bDeepAdd is TRUE,
this method tries to add them recursively.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
      <param name="bDeepAdd">Specifies whether to add keyframe or transition recursively.</param>
    </member>
    <member name="M:CKeyFrame.GetOffset">
      <summary>
Returns an offset from other keyframe.
</summary>
      <returns>
An offset in seconds from other keyframe.
</returns>
      <remarks>
This method should be called to determine an offset in seconds from other keyframe.
</remarks>
    </member>
    <member name="M:CKeyFrame.GetExistingKeyframe">
      <summary>
Returns a pointer to a keyframe this keyframe depends on.
</summary>
      <returns>
A valid pointer to keyframe, or NULL if this keyframe does not depend on other keyframe.
</returns>
      <remarks>
This is an accessor to a keyframe this keyframe depends on.
</remarks>
    </member>
    <member name="M:CKeyFrame.GetTransition">
      <summary>
Returns a pointer to a transition this keyframe depends on.
</summary>
      <returns>
A valid pointer to transition, or NULL if this keyframe does not depend on transition.
</returns>
      <remarks>
This is an accessor to a transition this keyframe depends on.
</remarks>
    </member>
    <member name="M:CKeyFrame.#ctor(CBaseKeyFrame*,System.Double)">
      <summary>
Constructs a keyframe that depends on other keyframe.
</summary>
      <remarks>
The constructed keyframe will represent a moment in time within a storyboard, which has a specified offset from pKeyframe.
</remarks>
      <param name="pKeyframe">A pointer to keyframe.</param>
      <param name="offset">Offset, in seconds, from keyframe specified by pKeyframe.</param>
    </member>
    <member name="M:CKeyFrame.#ctor(CBaseTransition*)">
      <summary>
Constructs a keyframe that depends on a transition.
</summary>
      <remarks>
The constructed keyframe will represent a moment in time within a storyboard when the specified transition ends.
</remarks>
      <param name="pTransition">A pointer to a transition.</param>
    </member>
    <member name="F:CKeyFrame.m_pExistingKeyFrame">
      <summary>
Stores a pointer to an existing keframe. This keyframe is added to storyboard with m_offset to the existing keyframe.
</summary>
    </member>
    <member name="F:CKeyFrame.m_offset">
      <summary>
Specifies offset of this keyframe from a keyframe stored in m_pExistingKeyFrame.
</summary>
    </member>
    <member name="F:CKeyFrame.m_pTransition">
      <summary>
Stores a pointer to transtion that begins at this keyframe.
</summary>
    </member>
    <member name="T:CKeyFrame">
      <summary>
Represents an animation keyframe.
</summary>
      <remarks>
This class implements an animation keyframe. A keyframe represents a moment in time within a
storyboard and can be used to specify the start and end times of transitions.
A keyframe may be based on other keyframe and have an offset (in seconds) from it, or may be based on a transition and
represent a moment in time when this transition ends.
</remarks>
    </member>
    <member name="M:CBaseKeyFrame.AddToStoryboard(IUIAnimationStoryboard*,System.Int32)">
      <summary>
Adds a keyframe to storyboard.
</summary>
      <returns>
TRUE if keyframe was added to storyboard successfully; otherwise FALSE.
</returns>
      <remarks>
This method is called to add a keyframe to storyboard.
</remarks>
      <param name="pStoryboard">A pointer to a storyboard.</param>
      <param name="bDeepAdd">If this parameter is TRUE and the keyframe being added depends on some other keyframe or transition, this method tries
to add this keyframe or transition to storyboard first.</param>
    </member>
    <member name="M:CBaseKeyFrame.IsKeyframeAtOffset">
      <summary>
Specifies whether the keyframe should be added to storyboard at offset, or after transition.
</summary>
      <returns>
TRUE if the keyframe should be added to storyboard at some specified offset.
FALSE if the keyframe should be added to storyboard after some transition.
</returns>
      <remarks>
Specifies whether the keyframe should be added to storyboard at offset.
The offset or transition must be specified in a derived class.
</remarks>
    </member>
    <member name="M:CBaseKeyFrame.IsAdded">
      <summary>
Tells whether a keyframe has been added to storyboard.
</summary>
      <returns>
TRUE if a keyframe is added to a storyboard; otehrwise FALSE.
</returns>
      <remarks>
In the base class IsAdded always returns TRUE, but it's overridden in derived classes.
</remarks>
    </member>
    <member name="M:CBaseKeyFrame.GetAnimationKeyframe">
      <summary>
Returns the underlying keyframe value.
</summary>
      <returns>
A current keyframe. The default value is UI_ANIMATION_KEYFRAME_STORYBOARD_START.
</returns>
      <remarks>
This is an accessor to the underlying keyframe value.
</remarks>
    </member>
    <member name="M:CBaseKeyFrame.#ctor">
      <summary>
Constructs a keyframe object.
</summary>
    </member>
    <member name="F:CBaseKeyFrame.m_bIsKeyframeAtOffset">
      <summary>
Specifies whether this keyframe should be added to storyboard at an offset from
another existing keyframe, or at the end of some transition.
</summary>
    </member>
    <member name="F:CBaseKeyFrame.m_bAdded">
      <summary>
Specifies whether this keyframe has been added to a storyboard.
</summary>
    </member>
    <member name="F:CBaseKeyFrame.m_keyframe">
      <summary>
Represents a Windows Animation API keyframe. When a keyframe is not initialized
it is set to the predefined value UI_ANIMATION_KEYFRAME_STORYBOARD_START.
</summary>
    </member>
    <member name="T:CBaseKeyFrame">
      <summary>
Implements basic functionality of keyframe.
</summary>
      <remarks>
Encapsulates UI_ANIMATION_KEYFRAME variable. Serves as a base class for any keyframe implementation.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions.
There are two types of keyframes - keyframes added to storyboard at the specified offset (in time), or keyframes added
after specified transition. Because durations of some transitions can't be known before animation starts, the actual values
of some keyframes are determined at runtime only.
Because keyframes may depend on transitions, which in their turn depend on keyframes, it's important to prevent
infinite recursions when building keyframe chains.
</remarks>
    </member>
    <member name="F:CBaseTransition.m_bAdded">
      <summary>
Specifies whether a transition has been added to a storyboard.
</summary>
    </member>
    <member name="F:CBaseTransition.m_pRelatedVariable">
      <summary>
A pointer to an animation variable, which is animated with the transition stored in m_transition.
</summary>
    </member>
    <member name="F:CBaseTransition.m_pEndKeyframe">
      <summary>
Stores a pointer to the keyframe that specifies the end of the transition.
</summary>
    </member>
    <member name="F:CBaseTransition.m_pStartKeyframe">
      <summary>
Stores a pointer to the keyframe that specifies the beginning of the transition.
</summary>
    </member>
    <member name="F:CBaseTransition.m_transition">
      <summary>
Stores a pointer to IUIAnimationTransition. NULL if a COM transition object has not been created.
</summary>
    </member>
    <member name="F:CBaseTransition.m_type">
      <summary>
Stores the transition type.
</summary>
    </member>
    <member name="M:CBaseTransition.AddToStoryboardAtKeyframes(IUIAnimationStoryboard*)">
      <summary>
Adds a transition to a storyboard.
</summary>
      <returns>
TRUE, if transition was successfully added to a storyboard.
</returns>
      <remarks>
Applies the transition to the related variable in the storyboard. If the start keyframe was specified, the transition
begins at that keyframe. If the end keyframe was specified, the transition begins at the start keyframe and
and stops at the end keyframe. If the transition was created with a duration parameter specified, that duration is
overwritten with the duration of time between the start and end keyframes.
If no keyframe was specified, the transition is appended to the transition added most recently to the variable.
</remarks>
      <param name="pStoryboard">A pointer to storyboard, which will animate the related variable.</param>
    </member>
    <member name="M:CBaseTransition.AddToStoryboard(IUIAnimationStoryboard*)">
      <summary>
Adds a transition to a storyboard.
</summary>
      <returns>
TRUE, if transition was successfully added to a storyboard.
</returns>
      <remarks>
Applies the transition to the related variable in the storyboard.  If this is the first transition
applied to this variable in this storyboard, the transition begins at the start of the storyboard.
Otherwise, the transition is appended to the transition added most recently to the variable.
</remarks>
      <param name="pStoryboard">A pointer to storyboard, which will animate the related variable.</param>
    </member>
    <member name="M:CBaseTransition.GetRelatedVariable">
      <summary>
Returns a pointer to related variable.
</summary>
      <returns>
A valid pointer to animation variable, or NULL if an animation variable has not been set by SetRelatedVariable.
</returns>
      <remarks>
This is an accessor to related animation variable.
</remarks>
    </member>
    <member name="M:CBaseTransition.SetRelatedVariable(CAnimationVariable*)">
      <summary>
Establishes a relationship between animation variable and transition.
</summary>
      <remarks>
Establishes a relationship between animation variable and transition. A transition can be applied only to one variable.
</remarks>
      <param name="pVariable">A pointer to related animation variable.</param>
    </member>
    <member name="M:CBaseTransition.GetEndKeyframe">
      <summary>
Returns start keyframe.
</summary>
      <returns>
A valid pointer to a keyframe, or NULL if a transition should not be inserted between keyframes.
</returns>
      <remarks>
This method can be used to access a keyframe object that was previously set by SetKeyframes.
It's called by top level code when transitions are being added to storyboard.
</remarks>
    </member>
    <member name="M:CBaseTransition.GetStartKeyframe">
      <summary>
Returns start keyframe.
</summary>
      <returns>
A valid pointer to a keyframe, or NULL if a transition should not start after a keyframe.
</returns>
      <remarks>
This method can be used to access a keyframe object that was previously set by SetKeyframes.
It's called by top level code when transitions are being added to storyboard.
</remarks>
    </member>
    <member name="M:CBaseTransition.IsAdded">
      <summary>
Tells whether a transition has been added to a storyboard.
</summary>
      <returns>
Returns TRUE if a transition has been added to a storyboard, otherwise FALSE.
</returns>
      <remarks>
This flag is set internally when the top level code adds transitions to storyboard.
</remarks>
    </member>
    <member name="M:CBaseTransition.SetKeyframes(CBaseKeyFrame*,CBaseKeyFrame*)">
      <summary>
Sets keyframes for a transition.
</summary>
      <remarks>
This method tells the transition to start after specified keyframe and, optionally, if pEnd is not NULL, end
before the specified keyframe.
If the transition was created with a duration parameter specified, that duration is overwritten with the duration of time between the start and end keyframes.
</remarks>
      <param name="pStart">A keyframe that specifies the beginning of the transition. </param>
      <param name="pEnd">A keyframe that specifies the end of the transition.</param>
    </member>
    <member name="M:CBaseTransition.GetTransition">
      <summary>
Returns a pointer to underlying COM transition object.
</summary>
      <returns>
A valid pointer to IUIAnimationTransition or NULL if underlying transition can't be created.
</returns>
      <remarks>
It's an accessor method to underlying COM transition object. It doesn't instantiates the underlying IUIAnimationTransition COM
object if it wasn't created.
</remarks>
    </member>
    <member name="M:CBaseTransition.GetTransition(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Returns a pointer to underlying COM transition object.
</summary>
      <returns>
A valid pointer to IUIAnimationTransition or NULL if underlying transition can't be created.
</returns>
      <remarks>
This method returns a pointer to underlying COM transition object and creates it if necessary.
</remarks>
      <param name="pLibrary">A pointer to transition library, which creates standard transitions. It can be NULL for custom transitions.</param>
      <param name="pFactory">A pointer to transition factory, which creates custom transitions. It can be NULL for standard transitions.</param>
    </member>
    <member name="M:CBaseTransition.Create(IUIAnimationTransitionLibrary*,IUIAnimationTransitionFactory*)">
      <summary>
Creates a COM transition.
</summary>
      <returns>
TRUE if a transition COM object was created successfully; otherwise FALSE.
</returns>
      <remarks>
This is a pure virtual function that must be overridden in a derived class.
It's called by the framework to instantiate the underlying COM transition object.
</remarks>
      <param name="pLibrary">A pointer to transition library, which creates standard transitions. It can be NULL for custom transitions.</param>
      <param name="pFactory">A pointer to transition factory, which creates custom transitions. It can be NULL for standard transitions.</param>
    </member>
    <member name="M:CBaseTransition.GetType">
      <summary>
Returns transition type.
</summary>
      <returns>
One of TRANSITION_TYPE enumerated values.
</returns>
      <remarks>
This method can be used to identify a transition object by its type.
The type is set in a constructor in a derived class.
</remarks>
    </member>
    <member name="M:CBaseTransition.Clear">
      <summary>
Releases encapsulated IUIAnimationTransition COM object.
</summary>
      <remarks>
This method should be called from a derived class's Create method in order to prevent
IUITransition interface leak.
</remarks>
    </member>
    <member name="M:CBaseTransition.Dispose">
      <summary>
The destructor. Called when a transition object is being destroyed.
</summary>
    </member>
    <member name="M:CBaseTransition.#ctor">
      <summary>
Constructs a base transtion object.
</summary>
    </member>
    <member name="T:CBaseTransition.TRANSITION_TYPE">
      <summary>
Defines the transition types currently supported by the MFC implementation of Windows Animation API.
</summary>
      <remarks>
A transition type is set in the constructor of specific transition.
For example, CSinusoidalTransitionFromRange sets its type to SINUSOIDAL_FROM_RANGE.
</remarks>
    </member>
    <member name="T:CBaseTransition">
      <summary>
Represents a basic transition.
</summary>
      <remarks>
This class encapsulates IUIAnimationTransition interface and serves as a base class for all transitions.
</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.GetZoomCorners">
      <summary>
   Gets the corners of the view's rectangle.
   The two points that define the corners of the view's rectangle in model coordinates.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.ZoomAndCenterRectangle(Autodesk.Revit.DB.XYZ,Autodesk.Revit.DB.XYZ)">
      <summary>
   Zoom and center the view to a specified rectangle.
</summary>
      <param name="viewCorner1">
   A corner of the desired view rectangle in model coordinates.
</param>
      <param name="viewCorner2">
   The opposite corner of the desired view rectangle in model coordinates.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.ZoomSheetSize">
      <summary>
   Zoom to the sheet size.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.Zoom(System.Double)">
      <summary>
   Zoom the view.
</summary>
      <param name="zoomFactor">
   Factor by which to zoom in or out. Values greater than 1 zooms in, less than 1 zooms out.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   zoomFactor is not positive.
</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.ZoomToFit">
      <summary>
   Zoom the view to fit its contents.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.Close">
      <summary>
   Closes the view.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   Cannot close a project's only open view.
</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIView.GetWindowRectangle">
      <summary>
   Gets the rectangle containing the coordinates of the view's drawing area.
</summary>
      <returns>
   The rectangle of the view window.
</returns>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIView.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIView.ViewId">
      <summary>
   The id of the View associated with a UIView.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UIView">
      <summary>
   A class containing data about view windows in the Revit user interface.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIPlumbingUtils.PrepareDataForPipeEditor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId,Autodesk.Revit.DB.ElementId,System.Double)">
      <summary>
   Prepare data for pipe editor.
</summary>
      <param name="typeId">
   The pipe type id.
</param>
      <param name="systemTypeId">
   The system type id.
</param>
      <param name="diameter">
   The pipe size, the value is a pre-defined list in Revit.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017.2
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UIPlumbingUtils">
      <summary>
   General UI utility methods in Revit UI.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetUnitsElementId(Autodesk.Revit.DB.Document)">
      <summary>
   Gets the id of the units element (object of UnitsElem) of the Revit units settings
</summary>
      <param name="document">
   The document used to extract unit information from.
</param>
      <returns>
   The element id of UnitsElem object.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetConditionSizeDescription(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.FabricationServiceButton,System.Int32,Autodesk.Revit.DB.FormatOptions)">
      <summary>
   Gets the condition description for a service button's sizing condition.
</summary>
      <param name="document">
   The document used to extract unit information from.
</param>
      <param name="button">
   The fabrication service button to query.
</param>
      <param name="conditionIndex">
   The condition index of the fabrication service button to query.
</param>
      <param name="formatOptions">
   The formatting options to use to format size text.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.RouteAndFillPartBrowserOnMouseLeave(Autodesk.Revit.DB.Document)">
      <summary>
   The mouse leaves the fabrication route and fill part browser.
</summary>
      <param name="document">
   The document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.RouteAndFillPartBrowserOnPartTypeChanged(Autodesk.Revit.DB.Document,System.Int32,System.Int32,System.Int32)">
      <summary>
   The fabrication route and fill part types are changed from the fabrication part browser, so the available solutions are needed to updated.
</summary>
      <param name="doc">
   The document.
</param>
      <param name="requiredTypeId">
   The fabrication part type id that must be included in the route and fill solutions.If the id is invalid, it will be ignored.
</param>
      <param name="optionalTypeId">
   The fabrication part type id that may or mat not be included from the route and fill solutions. If the id is invalid, will be ignored.
</param>
      <param name="selectedTypeId">
   The fabrication part type id that is currently selected in the Fabrication Part Browser.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.RebuildLoadedDatabase(Autodesk.Revit.DB.Document)">
      <summary>
   we need the for fabrication setting form when user clicked sync with source and cancel the form. when the internal rebuildLoadedDatabase is not called
   because transaction was rolled back, but we need the reload the workspace
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.IsFabConfigConnectedToSource(Autodesk.Revit.DB.Document)">
      <summary>
   checks if the fabrication is connected to source
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.IsAllowedToPlacePart(Autodesk.Revit.DB.Document)">
      <summary>
   Checks if placing part is allowed or not.
   For example, placing part is not allowed if the document is not allowed to change.
</summary>
      <param name="doc">
   The document.
</param>
      <returns>
   True if placing part is allowed, false otherwise.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetIsMPR(Autodesk.Revit.DB.Document)">
      <summary>
   Checks if starting MPR is currently active
</summary>
      <param name="doc">
   The document.
</param>
      <returns>
   returns whether MPR is currently active
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetIsMPR(Autodesk.Revit.DB.Document,System.Boolean)">
      <summary>
   Sets if MPR is currently active or not.
</summary>
      <param name="doc">
   The document.
</param>
      <param name="isMPR">
   sets whether MPR is valid for the current service group.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetCanMPR(Autodesk.Revit.DB.Document)">
      <summary>
   Checks if starting MPR is allowed or not.
</summary>
      <param name="doc">
   The document.
</param>
      <returns>
   gets whether MPR is valid for the current service group.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetCanMPR(Autodesk.Revit.DB.Document,System.Boolean)">
      <summary>
   Sets if starting MPR is allowed or not.
</summary>
      <param name="doc">
   The document.
</param>
      <param name="canMPR">
   sets whether MPR is valid for the current service group.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.IsJournalReplaying">
      <summary>
   Indicates whether it is in journal replaying mode.
</summary>
      <returns>
   True if it is in journal replaying mode, false otherwise.
</returns>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.RestartMPR(Autodesk.Revit.DB.Document)">
      <summary>
   Call to restart multi point routing service.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.RouteFabricationService(Autodesk.Revit.DB.Document,System.Int32,System.Int32)">
      <summary>
   Call to start routing fabrication service.
</summary>
      <param name="serviceId">
   The Fabrication service.
</param>
      <param name="groupIndex">
   The Fabrication service group index.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   checks the service group is valid
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.PlaceFabricationPart(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.FabricationServiceButton)">
      <summary>
   Call to place a fabrication part.
</summary>
      <param name="serviceButton">
   The Fabrication service button.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   checks the service id, tab index and button index and makes sure they are valid
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetCurrentServiceInfo(Autodesk.Revit.DB.Document,System.Int32,System.Int32)">
      <summary>
   call to initialise what service / group will be used if MPR command is initiated from outside the part browser.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetOpenConnectorIndicatorAwayColor">
      <summary>
   Gets the color of the open connector indicator in away direction.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetOpenConnectorIndicatorAwayColor(Autodesk.Revit.DB.Color)">
      <summary>
   Sets the color of the open connector indicator in away direction
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetOpenConnectorIndicatorTowardsColor">
      <summary>
   Gets the color of the open connector indicator in towards direction.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetOpenConnectorIndicatorTowardsColor(Autodesk.Revit.DB.Color)">
      <summary>
   Sets the color of the open connector indicator in towards direction
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.GetOpenConnectorIndicatorPlanColor">
      <summary>
   Gets the color of the open connector indicator in plan view.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIFabricationUtils.SetOpenConnectorIndicatorPlanColor(Autodesk.Revit.DB.Color)">
      <summary>
   Sets the color of the open connector indicator in plan view.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UIFabricationUtils">
      <summary>
   General Fabrication UI utility methods in Revit UI.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UISaveAsOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UISaveAsOptions.ShowOverwriteWarning">
      <summary>
   Identifies if UI should show an overwrite warning dialog.
</summary>
      <value>
   True if the UI should show a warning dialog prompting the user to overwrite a file if it exists, False if it should not.
   Default is false.
</value>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UISaveAsOptions.#ctor">
      <summary>
   Default constructor.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UISaveAsOptions">
      <summary>
   This class contains UI options available for saving a document to disk with a new filename.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ThinLinesOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ThinLinesOptions.AreThinLinesEnabled">
      <summary>
   A static property defining if the 'Thin Lines' setting is on or off in current Revit Application Session.
</summary>
      <remarks>
   If user started multiple Revit sessions, and the 'Thin Lines' setting might be different in each session.
   Revit.ini file stores the lastest setting no matter what the Revit session is. The setting will be writen to Revit.ini if user set the value.
</remarks>
      <since>
   2015 Subscription Update
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ThinLinesOptions">
      <summary>
   A utility class containing setting related to the Thin Lines option which affects the display in the UI.
</summary>
      <since>
   2015 Subscription Update
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TextEditorOptions.GetTextEditorOptions">
      <summary>
   Returns the current Revit instance's TextEditorOptions.
</summary>
      <returns>
   The TextEditorOptions for the current Revit instance.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextEditorOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextEditorOptions.ShowOpaqueBackground">
      <summary>
   Show opaque background behind the text during editing.
</summary>
      <remarks>
   If false, the background will be opaque or not depending on the edited text note's type Background setting.
   If true, the background behind the text will always be opaque during editing.
</remarks>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextEditorOptions.ShowBorder">
      <summary>
   Show the border box around the text during editing.
</summary>
      <remarks>
   If false, the border will appear or not depending on the edited text note's type Show Border setting.
   If true, the border will always appear during editing regardless of type settings.
</remarks>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TextEditorOptions">
      <summary>
   Provides access to settings that control Revit's Text Editor appearance and functionality.
</summary>
      <remarks>
   These settings are stored in the Revit.ini file.  All documents in Revit instances which use this Revit.ini will follow these settings.
</remarks>
      <since>
   2017
</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Text.cs" region="Autodesk.Revit.UI.TextEditorOptions" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Text.vb" region="Autodesk.Revit.UI.TextEditorOptions" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.TableViewUIUtils.TestCellAndPromptToEditTypeParameter(Autodesk.Revit.DB.TableView,Autodesk.Revit.DB.SectionType,System.Int32,System.Int32)">
      <summary>
   Prompts the end-user to control whether a type parameter contained in the specified table cell should be allowed edited.
</summary>
      <remarks>
   If the specified cell contains an instance parameter, the method automatically returns true without prompting the user.
   For type parameters, a task dialog will be shown and the user's choice will be returned.
</remarks>
      <param name="tableView">
   The table view.
</param>
      <param name="sectionType">
   The section the row lies in.
</param>
      <param name="row">
   The row index in the section.
</param>
      <param name="column">
   The column index in the section.
</param>
      <returns>
   Returns true if editing the cell is allowed; otherwise false.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   The given row number row is invalid.
   -or-
   The given column number column is invalid.
   -or-
   A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TableViewUIUtils">
      <summary>
   This utility class contains members that involve the Revit UI and operate on schedule views or MEP electrical panel schedules.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.SetupEnergySimulationDialog.Show">
      <summary>
   Shows the SetupEnergySimulationDialog to the user as a modal dialog.
</summary>
      <returns>
   One of the <see cref="T:Autodesk.Revit.UI.SetupEnergySimulationDialogResult" /> values.
</returns>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SetupEnergySimulationDialog.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SetupEnergySimulationDialog.RunName">
      <summary>
   The name of the analysis run that was supplied by the user.
</summary>
      <remarks>
   This value is only valid after <see cref="M:Autodesk.Revit.UI.SetupEnergySimulationDialog.Show" /> has been called.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SetupEnergySimulationDialog.ProjectId">
      <summary>
   The identifier of the project (on the Green Building Studio server) that was selected by the user.
</summary>
      <remarks>
   This value is only valid after <see cref="M:Autodesk.Revit.UI.SetupEnergySimulationDialog.Show" /> has been called.
   A negative value indicates that no project was selected.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SetupEnergySimulationDialog.ProjectName">
      <summary>
   The project name (representing a project on the Green Building Studio server) selected or supplied by the user.
</summary>
      <remarks>
   This value is only valid after <see cref="M:Autodesk.Revit.UI.SetupEnergySimulationDialog.Show" /> has been called.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.SetupEnergySimulationDialog.#ctor">
      <summary>
   Constructs a new instance of the SetupEnergySimulationDialog class.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   The user has not signed in to their Autodesk account.
</exception>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.SetupEnergySimulationDialog">
      <summary>
   The Revit dialog which typically precedes invocation of an Energy Simulation run on the Green Building Studio server.
</summary>
      <remarks>
        <p>Add-ins can invoke this dialog to collect the name and id of a Green Building Studio project and the name of an analysis run from the user.
   When the user chooses these values and opts to Continue, control returns the add-in to use the values the user has selected.
   No Green Building Studio run is automatically invoked by the user's actions in the dialog when it is prompted by the add-in.</p>
   This class can be instantiated only when the user is logged in to their Autodesk account.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.SetupEnergySimulationDialogResult">
      <summary>
   Specifies identifiers to indicate the return value of the SetupEnergySimulationDialog
</summary>
      <since>
   2016
</since>
      <since>
   2016
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.SetupEnergySimulationDialogResult.Cancel">
      <summary>
   The user chose to cancel out of the dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SetupEnergySimulationDialogResult.Continue">
      <summary>
   The user chose to continue from the dialog.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.SelectionUIOptions.ElementSelectsAsPinned(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.Element)">
      <summary>
   Checks whether the specified element will be treated as pinned for the purposes of selection.
</summary>
      <remarks>
   To improve usability, the option to disable pinned selection has some additional intelligence
   beyond simply checking the pinned status.  For example, if a model group is pinned, the corresponding
   attached detail group will also be treated as pinned for the purposes of selection.  If this method
   returns true, the specified element will not be selectable when selection of pinned elements is
   disabled.
</remarks>
      <param name="document">
   The document containing the element.
</param>
      <param name="element">
   The element to check.
</param>
      <returns>
   True if the specified element should be treated as pinned for selection purposes, false otherwise.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.SelectionUIOptions.GetSelectionUIOptions">
      <summary>
   Returns the current user's SelectionOptions.
</summary>
      <returns>
   The SelectionOptions for the current user.
</returns>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.SelectPinned">
      <summary>
   Indicates whether pinned elements can be selected.
</summary>
      <remarks>
   When this setting is false, the user cannot select most pinned elements in canvas.  This option
   helps users avoid accidentally moving important pinned objects such as levels and grids.  When
   this option is true, the user can select pinned elements directly.
   <p>Note that to improve usability, the behavior of this option has some added intelligence
   beyond simply checking whether the element is pinned.  For example, if a model group is pinned,
   the corresponding attached detail group is not selectable if selection of pinned elements is
   disabled.  To check whether a particular element is pinned for purposes of this setting, see
   <see cref="M:Autodesk.Revit.UI.SelectionUIOptions.ElementSelectsAsPinned(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.Element)" />.</p></remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.DragOnSelection">
      <summary>
   Indicates whether elements can be dragged immediately when they are selected.
</summary>
      <remarks>
   When this setting is false, the user must click once to select an element and then must
   explicitly click again in order to drag the element.  This option helps users avoid accidentally
   moving elements.  When this setting is true, the user can click on an element to select it
   and drag the element immediately by holding down the mouse.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.SelectUnderlay">
      <summary>
   Indicates whether elements that are displayed as underlay can be selected.
</summary>
      <remarks>
   When this setting is false, if an element is displayed as underlay in a view then the user will
   not be able to select it in that view.  The element may still be selected in views where it
   is not displayed as underlay.  When this setting is true, elements that are displayed as underlay
   may still be selected.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.SelectLinks">
      <summary>
   Indicates whether Revit and CAD link instances can be selected.
</summary>
      <remarks>
   When this setting is false, users cannot directly select link instances or elements within them in the
   canvas.  This makes it easy for the user to avoid accidentally selecting and moving
   links.  When this setting is true, users can select link instances.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SelectionUIOptions.SelectFaces">
      <summary>
   Indicates whether elements can be selected by clicking on the interior of a face.
</summary>
      <remarks>
   When this setting is false, users must click on an edge or vertex of an element
   in order to select the corresponding element.  When it is true, users may also select elements by clicking
   on the interior of a face of an element.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.SelectionUIOptions">
      <summary>
   Provides access to user settings related to how selection will behave in Revit's UI.
</summary>
      <remarks>
   The settings in this class define how selection will behave when the user is
   selecting one or more elements in a graphical view.  These settings do not affect programmatic selection behavior.
   Some UI commands may override the user's settings while the command is active.
   <p>These settings are per user and will affect the selection behavior in all
   projects and families.  The settings are not stored in the project.</p></remarks>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.SelectableInViewFilter.#ctor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId,System.Boolean)">
      <summary>
   Constructs a new instance of an SelectableInViewFilter, with the option to pass all non-selectable elements.
</summary>
      <param name="document">
   The document that owns the view.
</param>
      <param name="viewId">
   The view id.
</param>
      <param name="inverted">
   True if the filter should match all elements not selectable in the given view.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   viewId is not a view.
   -or-
   viewId is not valid for element iteration, because it has no way of representing drawn elements.  Many view templates
   will fail this check.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.SelectableInViewFilter.#ctor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId)">
      <summary>
   Constructs a new instance of an SelectableInViewFilter.
</summary>
      <param name="document">
   The document that owns the view.
</param>
      <param name="viewId">
   The view id.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   viewId is not a view.
   -or-
   viewId is not valid for element iteration, because it has no way of representing drawn elements.  Many view templates
   will fail this check.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.SelectableInViewFilter">
      <summary>
   A filter that passes elements that are selectable in the given view.
</summary>
      <remarks>
   This filter is a slow filter. Slow filters require that the Element be obtained and expanded in memory first.
   Thus it is preferable to couple this filter with at least one ElementQuickFilter,
   which should minimize the number of Elements that are expanded.
   This filter is designed to operate on a list of elements visible in the given view.
   This can be obtained from a FilteredElementCollector constructed with the view id.
   This filter may not correctly restrict elements which are not a part of the visible elements of the view.
</remarks>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.RevitLinkUIUtils">
      <summary>
   A class containing functions for displaying user interface related to
   Revit links.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.FaceBasedPlacementType">
      <summary>
   The placement type to be used if prompting to place an instance of a face-based family.
   This option is ignored if placing a non-face-based family. If placing a face-based family, Default is an acceptable value, but will correspond to the first available selection in the user interface.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   When setting this property: A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.SketchGalleryOptions">
      <summary>
   The sketch option provided when promt to place a family instance.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   When setting this property: A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.PlaceAirTerminalOnDuct">
      <summary>
   If true, when placing an air terminal, the terminal will be placed directly on the duct without fittings.
   If fase, the terminal will be placed with generated fittings.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.#ctor(Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions)">
      <summary>
   Creates a copy of an existing options object.
</summary>
      <param name="other">
   The options object.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions.#ctor">
      <summary>
   Creates a new PromptForFamilyInstancePlacementOptions using default options.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions">
      <summary>
   This class contains options to control the behavior of interactive placement of family instances.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetLocalToPage(Autodesk.Revit.DB.XYZ)">
      <summary>
   Transforms local coordinates of a point to page coordinates.
</summary>
      <param name="Inpoint">
   Input the point local coordinates
</param>
      <returns>
   Return the transformed coordinates
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetARCQueryForActiveView(Autodesk.Revit.DB.PointCloudType)">
      <summary>
   Gets ARCQuery corresponding to the type and active view.
</summary>
      <param name="type">
   PointCloudType from which to get the ARCQuery
</param>
      <returns>
   The returned pointer can be NULL if the ARCQuery is NULL
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.AddPointSnaps(System.Collections.Generic.IList{Autodesk.Revit.DB.XYZ})">
      <summary>
   Takes point snaps from the instance of ISnappingServer and passes them to Revit.
</summary>
      <param name="pointSnaps">
   The points to add as snaps.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.AddLineSnaps(System.Collections.Generic.IList{Autodesk.Revit.DB.XYZ},System.Boolean)">
      <summary>
   Takes line snaps from the instance of ISnappingServer and passes them to Revit.
</summary>
      <param name="lineSnaps">
   Lines are represented by two XYZs: first an origin, then a direction.
</param>
      <param name="projectToWorkPlane">
   Whether to project the lines to the work plane. For instance, if the line snaps represent
   planes, we want to project them. If they represent cylinders, we do not. If we project
   to the work plane, we also verify that the line is parallel to the work plane.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   the array lineSnaps has an odd number of entries and is hence not a valid line snap
   array, since lines are represented as an origin XYZ followed by a direction XYZ.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetVisibleScanGUIDs(Autodesk.Revit.DB.PointCloudInstance)">
      <summary>
   Given a PointCloudInstance, get those of its scans which are visible in the View in which
   snapping is being done.
</summary>
      <param name="pointCloudInstance">
   The PointCloudInstance to get scans from.
</param>
      <returns>
   The GUIDs of the scans of the given PointCloudInstance visible in the View in which
   snapping is being done.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetPlanes(Autodesk.Revit.DB.PointCloudInstance)">
      <summary>
   Gets the bounding planes for the given point cloud.
</summary>
      <param name="pointCloudInstance">
   The point cloud to find the bounding planes for.
</param>
      <returns>
   The bounding planes for the given point cloud.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetViewRectangle">
      <summary>
   Returns the view rectangle in local coordinates.
</summary>
      <returns>
   The view rectangle in local coordinates.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   the View in which snapping is being done is not in a usable state (e.g. it is not
   finished drawing).
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetPointSnappingRadius">
      <summary>
   The size of the sampling region for the nearest best point detection.
</summary>
      <returns>
   The size of the sampling region for the nearest best point detection.
</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetViewDirection">
      <summary>
   A unit vector from the eye to the point around which to detect features.
</summary>
      <returns>
   A unit vector from the eye to the point around which to detect features.
</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetScreenMMToModelMM">
      <summary>
   Returns the conversion factor between mm on the screen and mm in the model.
</summary>
      <returns>
   The conversion factor between mm on the screen and mm in the model.
</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetScreenMMToModelUnits">
      <summary>
   Returns the conversion factor between mm on the screen and model units.
</summary>
      <returns>
   The conversion factor between mm on the screen and model units.
</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetReCapNativeAccess(Autodesk.Revit.DB.PointCloudType)">
      <summary>
   Returns native pointer to IRCData object that corresponds to
   a loaded and open point cloud in ReCap SDK
</summary>
      <remarks>
   The returned pointer can be NULL if the point cloud has been unloaded
   or if this point cloud uses different engine than ReCap
</remarks>
      <param name="type">
   PointCloudType from which to get the IRCData
</param>
      <returns>
   The access pointer
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetWorkPlane">
      <summary>
   Returns a copy of the current sketch plane
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.SnappingServiceData.GetInPoint">
      <summary>
   Gets the point to snap near.
</summary>
      <returns>
   The point to snap near
</returns>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SnappingServiceData.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SnappingServiceData.InPoint">
      <summary>
   Gets the point to snap near.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.SnappingServiceData.DBView">
      <summary>
   Gets the View in which snapping is being done.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.SnappingServiceData">
      <summary>
   This is a container for data and some functions which is passed from Revit to an instance of
   ISnappingServer.
</summary>
      <remarks>
   The snapping server reads the data and uses the functions to assist in finding snaps, then
   sends the snaps back to SnappingServiceData using AddLineSnaps() and AddPointSnaps(), which
   gives them back to Revit.
</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.ISnappingServerProxy.FindSnaps(Autodesk.Revit.UI.SnappingServiceData)">
      <summary>
   Finds snaps to the nearest point and to planes perpendicular to the work plane.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.ISnappingServer.FindSnaps(Autodesk.Revit.UI.SnappingServiceData)">
      <summary>
   Finds snaps to the nearest point and to planes perpendicular to the work plane.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.ISnappingServer">
      <summary>
   An interface that all servers of SnappingService implement.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData.GetUIDataItems">
      <summary>
   Gets all UI data items stored in the UI data.
</summary>
      <returns>
   An array of UI data items.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData.GetUnits">
      <summary>
   Gets units.
</summary>
      <returns>
   The Units object.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData">
      <summary>
   The input and output data used by external UI servers for storing UI settings.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIDataItem.GetPipeFittingAndAccessoryData">
      <summary>
   Gets the fitting data stored in the UI data item.
</summary>
      <returns>
   The fitting data stored in the UI data item.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIDataItem.SetEntity(Autodesk.Revit.DB.ExtensibleStorage.Entity)">
      <summary>
   Stores the entity in the UI data item.
</summary>
      <param name="entity">
   The Entity to be stored.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   Writing of Entities of this Schema is not allowed to the current add-in.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIDataItem.GetEntity">
      <summary>
   Returns the entity set by UI server.
   or an invalid entity otherwise.
</summary>
      <remarks>
   The Entity that is returned is a copy of the stored data (with copy-on-write optimization).
   Modifying it is allowed (even with restricted write), but to save your changes you must call SetEntity.
</remarks>
      <returns>
   The returned Entity.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIDataItem.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIDataItem">
      <summary>
   The input and output data used by external UI servers for initializing and storing the UI settings.
</summary>
      <remarks>
   One family instance has one UI data item.
   The UI data item contains a corresponding PipeFittingAndAccessoryData which is used for initialing the UI settings and an entity which is used for storing the UI settings.
</remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.IPipeFittingAndAccessoryPressureDropUIServerProxy.ShowSettings(Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData)">
      <summary>
   Shows the settings UI.
</summary>
      <param name="data">
   The input data of the calculation.
</param>
      <returns>
   True if the user makes any changes in the UI, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.IPipeFittingAndAccessoryPressureDropUIServerProxy.GetDBServerId">
      <summary>
   Returns the Id of the corresponding DB server for which this server provides an optional UI.
</summary>
      <remarks>
   Note that there may be only one UI server assigned to a DB calculation server.
</remarks>
      <returns>
   The Id of the DB server.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.IPipeFittingAndAccessoryPressureDropUIServer.ShowSettings(Autodesk.Revit.UI.Plumbing.PipeFittingAndAccessoryPressureDropUIData)">
      <summary>
   Shows the settings UI.
</summary>
      <param name="data">
   The input data of the calculation.
</param>
      <returns>
   True if the user makes any changes in the UI, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Plumbing.IPipeFittingAndAccessoryPressureDropUIServer.GetDBServerId">
      <summary>
   Returns the Id of the corresponding DB server for which this server provides an optional UI.
</summary>
      <remarks>
   Note that there may be only one UI server assigned to a DB calculation server.
</remarks>
      <returns>
   The Id of the DB server.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Plumbing.IPipeFittingAndAccessoryPressureDropUIServer">
      <summary>
   Interface for external servers providing optional UI for pipe fitting and pipe accessory coefficient calculation.
</summary>
      <remarks>
   This service works with pipe fitting and accessory pressure drop service. It provides the settings for the pipe fitting and accessory pressure drop server if needed;
   and it also provides UI for user to input the settings in Revit.
   A typical way to use the external server can be:
   <list type="bullet"><item>Implement a server class that derives from this interface </item><item>Create a new server object and register it with the service.</item></list></remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalResourceUIServerProxy.HandleBrowseResult(Autodesk.Revit.DB.ExternalResourceUIBrowseResultType,System.String)">
      <summary>
   Implement this method to handle results from browsing external resources
   in the UI. It is recommended that the server only respond in the case of a critical error.
</summary>
      <remarks>
   This method will be called automatically when the user browses for external resources,
   such as listing folders and resources of an external server or a subfolder,
   or choosing an external resource in the add resource dialog.
</remarks>
      <param name="resultType">
   The result of the browsing operation.
</param>
      <param name="browsingItemPath">
   The absolute path of the current item being browsed.
</param>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalResourceUIServerProxy.GetDBServerId">
      <summary>
   Implement this method to return the id of the server which is associated with this UI server.
</summary>
      <remarks>
   If there's no DB server associated with this UI server, an empty GUID value will be returned.
</remarks>
      <returns>
   The id of the associated DB server.
</returns>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalResourceUIServer.HandleBrowseResult(Autodesk.Revit.DB.ExternalResourceUIBrowseResultType,System.String)">
      <summary>
   Implement this method to handle results from browsing external resources
   in the UI. It is recommended that the server only respond in the case of a critical error.
</summary>
      <remarks>
   This method will be called automatically when the user browses for external resources,
   such as listing folders and resources of an external server or a subfolder,
   or choosing an external resource in the add resource dialog.
</remarks>
      <param name="resultType">
   The result of the browsing operation.
</param>
      <param name="browsingItemPath">
   The absolute path of the current item being browsed.
</param>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalResourceUIServer.GetDBServerId">
      <summary>
   Implement this method to return the id of the server which is associated with this UI server.
</summary>
      <remarks>
   If there's no DB server associated with this UI server, an empty GUID value will be returned.
</remarks>
      <returns>
   The id of the associated DB server.
</returns>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.IExternalResourceUIServer">
      <summary>
   The interface used to provide custom handling of UI operations related to external resources.
</summary>
      <remarks>
        <p>IExternalResourceUIServer is the UI server associated with IExternalResourceServer.
   IExternalResourceServer provides an interface for loading an external resource (such as a Revit
   link or the keynote data) from a source outside of Revit. IExternalResourceUIServer provides
   an interface for displaying the results of such an operation to the Revit user.</p>
        <p>IExternalResourceUIServers must be associated with an IExternalResourceServer in order
   to display any UI. Implement <see cref="M:Autodesk.Revit.UI.IExternalResourceUIServer.GetDBServerId" /> to declare a relationship
   between an IExternalResourceUIServer and an IExternalResourceServer.</p>
        <p>The primary method in IExternalResourceUIServer is <see cref="M:Autodesk.Revit.UI.IExternalResourceUIServer.HandleLoadResourceResults(Autodesk.Revit.DB.Document,System.Collections.Generic.IList`1{Autodesk.Revit.DB.ExternalResourceLoadData})" />.
   After an IExternalResourceServer loads an external resource, Revit will call
   HandleLoadResourceResults() on the IExternalResourceUIServer, so that it may display any
   related UI. Revit will provide an ExternalResourceLoadData to the UI server, which will
   contain information about the resource which was loaded, information about the context of
   the load operation, and any Revit-side errors.</p>
        <p>The ExternalResourceLoadData passed to HandleLoadResourceResults will also contain a GUID
   to uniquely identify the load request. This identifier can help IExternalResourceUIServers
   query their IExternalResourceServers for additional information about errors that occurred
   during specific load operations. Particularly, the IExternalResourceUIServer may wish to
   ask the IExternalResourceServer about errors which Revit is not aware of. For example,
   if the IExternalResourceServer includes a website and the user is not logged in, Revit
   will not have any information about this error.</p>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.IDuctFittingAndAccessoryPressureDropUIServerProxy.ShowSettings(Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData)">
      <summary>
   Shows the settings UI.
</summary>
      <param name="data">
   The input data of the calculation.
</param>
      <returns>
   True if the user makes any changes in the UI, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.IDuctFittingAndAccessoryPressureDropUIServerProxy.GetDBServerId">
      <summary>
   Returns the Id of the corresponding DB server for which this server provides an optional UI.
</summary>
      <remarks>
   Note that there may be only one UI server assigned to a DB calculation server.
</remarks>
      <returns>
   The Id of the DB server.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.IDuctFittingAndAccessoryPressureDropUIServer.ShowSettings(Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData)">
      <summary>
   Shows the settings UI.
</summary>
      <param name="data">
   The input data of the calculation.
</param>
      <returns>
   True if the user makes any changes in the UI, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.IDuctFittingAndAccessoryPressureDropUIServer.GetDBServerId">
      <summary>
   Returns the Id of the corresponding DB server for which this server provides an optional UI.
</summary>
      <remarks>
   Note that there may be only one UI server assigned to a DB calculation server.
</remarks>
      <returns>
   The Id of the DB server.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Mechanical.IDuctFittingAndAccessoryPressureDropUIServer">
      <summary>
   Interface for external servers providing optional UI for duct fitting and duct accessory coefficient calculation.
</summary>
      <remarks>
   This service works with duct fitting and accessory pressure drop service. It provides the settings for the duct fitting and accessory pressure drop server if needed;
   and it also provides UI for user to input the settings in Revit.
   A typical way to use the external server can be:
   <list type="bullet"><item>Implement a server class that derives from this interface </item><item>Create a new server object and register it with the service.</item></list></remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FilterDialog.Show">
      <summary>
   Shows the FilterDialog editing dialog to the user.
</summary>
      <remarks>
        <p>If an existing FilterElement id was set during construction of the object or through the FilterToSelect property,
   that FilterElement will be selected for editing.</p>
        <p>If a new filter name was set during construction of the object or through the NewFilterName property,
   a new ParameterFilterElement will be created and that new element will be selected for editing.
   If this option was chosen, the id of the explicitly create new filter will be stored in the NewFilterId property.</p>
        <p>Note that the user may opt to add, delete or edit any of the available filter elements (or make no changes at all).
   To monitor which filters have been changed, use other Revit API mechanisms such as Dynamic Update or the DocumentChanged event.</p>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FilterDialog.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FilterDialog.NewFilterName">
      <summary>
   The name of the new ParameterFilterElement to be created and selected once Show is invoked.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: newFilterName is an empty string.
   -or-
   When setting this property: newFilterName cannot include prohibited characters.
   -or-
   When setting this property: The supplied filter name newFilterName is not unique.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FilterDialog.FilterToSelect">
      <summary>
   The filter element to be selected once Show is invoked.
</summary>
      <value>
   The default is InvalidElementId, resulting in selecting the first available (if any) FilterElement.
</value>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: The supplied ElementId id is not of a FilterElement.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FilterDialog.NewFilterId">
      <summary>
   The ElementId of the new filter created.
   The value is populated after Show method is executed.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FilterDialog.#ctor(Autodesk.Revit.DB.Document,System.String)">
      <summary>
   Constructs a new instance of the FilterDialog class,
   while setting the name of the new ParameterFilterElement to be created and selected for editing.
</summary>
      <remarks>
   Show the dialog with the Show() method after setting the desired options.
</remarks>
      <param name="doc">
   The document that owns the FilterElements displayed and edited in the dialog.
</param>
      <param name="name">
   The user-visible name for the new ParameterFilterElement.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   name is an empty string.
   -or-
   name cannot include prohibited characters.
   -or-
   The given value for name is already in use as a filter element name.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FilterDialog.#ctor(Autodesk.Revit.DB.Document,Autodesk.Revit.DB.ElementId)">
      <summary>
   Constructs a new instance of the FilterDialog class,
   while setting the id of the FilterElement to be selected when the dialog is shown.
</summary>
      <remarks>
   Show the dialog with the Show() method after setting the desired options.
</remarks>
      <param name="doc">
   The document that owns the FilterElements displayed and edited in the dialog.
</param>
      <param name="filterToSelect">
   The FilterElement to be selected.
   If InvalidElementId, then the first (if any) available FilterElement will be selected.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The supplied ElementId filterToSelect is not of a FilterElement.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.FilterDialog">
      <summary>
   Allows display of the dialog used to create and edit FilterElements in Autodesk Revit.
</summary>
      <remarks>
   The class provides the option to launch the dialog by selecting an existing FilterElement,
   or automatically creating a new ParameterFilterElement.
   In both cases the affected element will be selected for editing.
   Note that the user may opt to add, delete or edit any of the available filter elements (or make no changes at all).
</remarks>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileSaveDialog.InitialFileName">
      <summary>
   The initial file name to be shown for this save operation.
</summary>
      <value>
        <p>This would typically be a name derived by the application that matches the purpose of the save operation
   it intends to do.  The user is permitted to alter the initial file name.</p>
        <p>If the extension is not included, the file would be given the selected file extension
   for the active filter (when saved).  If the extension is included, it will be ignored if the extension does
   not match one of the possible filter extensions. When not set, the file name entry field in the dialog will
   be blank and the user will have to enter a file name. </p>
      </value>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: initialFileName cannot include prohibited unprintable characters.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FileSaveDialog.#ctor(System.String)">
      <summary>
   Constructs a new instance of a File Save dialog.
</summary>
      <param name="filter">
   The filter string.  See the remarks for <see cref="P:Autodesk.Revit.UI.FileDialog.Filter" /> for details.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The input filter string does not meet the minimal requirements for a valid filter string.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.FileSaveDialog">
      <summary>
   This class allows an add-in to prompt the user with the Revit dialog used to navigate to and select an existing
   or new file path.  This dialog is typically used to enter a file name for saving or exporting.
</summary>
      <remarks>
        <p>The behavior and appearance of this dialog matches the Revit "Save as" dialog.  This is a general-purpose dialog
   for saving any given file type, and the Options shown in the dialog for Revit projects and families will not be
   shown.  To prompt the user to save the active Revit document specifically, use UIDocument.SaveAs(UISaveAsOptions) instead.</p>
        <p>The user will be requested to select or enter a file name matching the corresponding filter.
   If an existing file is selected, there will be
   a default prompt about overwriting the file shown, where the user can confirm or cancel this file selection.</p>
        <p>The folder location shown when the dialog is displayed defaults to the most recently used file location
   for saving or exporting.</p>
        <p>Use of this dialog does not actually save an existing file, but it will provide the selected file path
   back to the caller to take any action necessary.</p>
      </remarks>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileOpenDialog.ShowPreview">
      <summary>
   Identifies if the dialog should include a region showing a preview of the selected file.
</summary>
      <value>
   The default value is false, to not show the preview area in the dialog. If set to true, note that
   Revit may not be able to show a preview of all possible file types.
</value>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FileOpenDialog.#ctor(System.String)">
      <summary>
   Constructs a new instance of a File Open dialog.
</summary>
      <param name="filter">
   The filter string.  See the remarks for <see cref="P:Autodesk.Revit.UI.FileDialog.Filter" /> for details.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The input filter string does not meet the minimal requirements for a valid filter string.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.FileOpenDialog">
      <summary>
   This class allows an add-in to prompt the user with the Revit dialog used to navigate to and select an existing
   file path.  This dialog is typically used to select a file for opening or importing.
</summary>
      <remarks>
        <p>The behavior and appearance of this dialog matches the Revit "Open" dialog.  This is a general-purpose dialog
   for opening any given file type, and options to configure settings like worksharing options will not be included.</p>
        <p>The user will be prompted to select an existing file that matches one of the provided filters.  The user may not
   enter a file name that does not exist.</p>
        <p>The folder location shown when the dialog is displayed defaults to the most recently used file location
   for opening or importing.</p>
        <p>Use of this dialog does not actually open an existing file, but it will provide the selected file path
   back to the caller to take any action necessary.</p>
      </remarks>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FileDialog.IsValidFilterString(System.String)">
      <summary>
   Determines if the input string is acceptable as input for a FileDialog filter string.
</summary>
      <param name="filterString">
   The filter string.
</param>
      <returns>
   True of the filter string meets the minimal requirements to be a valid filter string.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FileDialog.Show">
      <summary>
   Shows the dialog using the stored settings.
</summary>
      <returns>
   A status indicating whether the user selected a file name or cancelled the dialog without making a selection.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.FileDialog.GetSelectedModelPath">
      <summary>
   Returns the selected file path chosen by the user.
</summary>
      <returns>
   The selected file path, or <see langword="null" /> if the dialog has not been shown or selection was cancelled.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileDialog.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileDialog.DefaultFilterEntry">
      <summary>
   The default entry (from the filter) to be selected in the dialog.
</summary>
      <value>
   This string value should be found in the string that makes up the right hand side of the filter entry.
   If a match is found, that entry from the filter will be shown by default when the dialog is shown.
   If this value is not set, or it cannot match any of the entries in the filter,
   it will be ignored, and the first entry in the filter will be used instead.
</value>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: defaultFilterEntry cannot include prohibited unprintable characters.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileDialog.Title">
      <summary>
   The title to show on the dialog.
</summary>
      <value>
   If not set, a default title will be used for the dialog.  For open, this will be something similar to
   "Select File" and for save, "Save As".
</value>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: title cannot include prohibited unprintable characters.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FileDialog.Filter">
      <summary>
   The filter string representing a collection of extensions allowed by the dialog.
</summary>
      <value>
   The required format for this string is a collection of one or more filter labels (representing the text
   the user will see in the Files of Type pulldown) plus an associated file matching string separated by the
   '|' character.
   Some examples of valid filter strings:
   <list type="bullet"><item>"Revit Files (*.rvt)|*.rvt</item><item>"Revit Projects (*.rvt)|*.rvt|Revit Families (*.rfa)|*.rfa"</item><item>"All files|*.*"</item><item>"All Revit files (*.rvt, *.rfa, *.rte, *.rft)|*.rvt;*.rfa;*.rte;*.rft"</item><item /></list></value>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: The input filter string does not meet the minimal requirements for a valid filter string.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.FileDialog">
      <summary>
   Base class supporting display of the dialog used to navigate to and select a file from Autodesk Revit.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FamilyInstancePlacingArgs.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FamilyInstancePlacingArgs.TooltipMessage">
      <summary>
   The message to be shown via tooltip
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FamilyInstancePlacingArgs.StatusMessage">
      <summary>
   The message to be shown on the status bar
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FamilyInstancePlacingArgs.IsBanned">
      <summary>
   Indicates if the cursor is banned or not.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.FamilyInstancePlacingArgs.ActiveView">
      <summary>
   The active view
</summary>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.FamilyInstancePlacingArgs">
      <summary>
   The class is used to access necessary data during the placement of a FamilyInstance.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData.GetUIDataItems">
      <summary>
   Gets all UI data items stored in the UI data.
</summary>
      <returns>
   An array of UI data items.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData.GetUnits">
      <summary>
   Gets units.
</summary>
      <returns>
   The Units object.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIData">
      <summary>
   The input and output data used by external UI servers for storing UI settings.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIDataItem.GetDuctFittingAndAccessoryData">
      <summary>
   Gets the fitting data stored in the UI data item.
</summary>
      <returns>
   The fitting data stored in the UI data item.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIDataItem.SetEntity(Autodesk.Revit.DB.ExtensibleStorage.Entity)">
      <summary>
   Stores the entity in the UI data item.
</summary>
      <param name="entity">
   The Entity to be stored.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   Writing of Entities of this Schema is not allowed to the current add-in.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIDataItem.GetEntity">
      <summary>
   Returns the entity set by UI server.
   or an invalid entity otherwise.
</summary>
      <remarks>
   The Entity that is returned is a copy of the stored data (with copy-on-write optimization).
   Modifying it is allowed (even with restricted write), but to save your changes you must call SetEntity.
</remarks>
      <returns>
   The returned Entity.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIDataItem.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Mechanical.DuctFittingAndAccessoryPressureDropUIDataItem">
      <summary>
   Each duct fitting or duct accessory FamilyInstance has one DuctFittingAndAccessoryPressureDropUIDataItem.
</summary>
      <remarks>
   One family instance has one UI data item.
   The UI data item contains a corresponding DuctFittingAndAccessoryData which is used for initialing the UI settings and an entity which is used for storing the UI settings.
</remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DoubleClickOptions.IsSupportedAction(Autodesk.Revit.UI.DoubleClickTarget,Autodesk.Revit.UI.DoubleClickAction)">
      <summary>
   Checks whether the specified double-click target supports the specified action.
</summary>
      <param name="target">
   The double-click target to check.
</param>
      <param name="action">
   The desired double-click action.
</param>
      <returns>
   True if the target supports the specified action, false otherwise.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DoubleClickOptions.SetAction(Autodesk.Revit.UI.DoubleClickTarget,Autodesk.Revit.UI.DoubleClickAction)">
      <summary>
   Changes the double-click action associated with a specified target.
</summary>
      <remarks>
   This change will be stored in the user's profile and will affect future sessions of Revit in
   addition to the current session.
</remarks>
      <param name="target">
   The double-click target whose action will be changed.
</param>
      <param name="action">
   The action to assign to the target.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The specified action is not valid for the target element.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DoubleClickOptions.GetAction(Autodesk.Revit.UI.DoubleClickTarget)">
      <summary>
   Returns the active user's desired action for a particular double-click target.
</summary>
      <param name="target">
   The target to check.
</param>
      <returns>
   The user's desired action for the specified target.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DoubleClickOptions.GetDoubleClickOptions">
      <summary>
   Returns the current user's DoubleClickOptions.
</summary>
      <returns>
   The DoubleClickOptions for the current user.
</returns>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DoubleClickOptions.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DoubleClickOptions">
      <summary>
   Provides access to settings that control what happens when the current user double-clicks on an element.
</summary>
      <remarks>
   These settings are stored on a per-user basis.  Revit will follow these settings for all projects and families for this user.
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DoubleClickAction">
      <since>
   2016
</since>
      <summary>
   Possible actions Revit can take in response to the user double-clicking on an element.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.DeactivateView">
      <summary>
   Double-click should deactivate the active view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.EnterEditMode">
      <summary>
   Double-click will enter a specific edit mode for the element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.ActivateView">
      <summary>
   Double-click should activate the view or schedule.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.EditType">
      <summary>
   Double-click should take the user to the edit type dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.EditFamily">
      <summary>
   Double-click should open the family for editing.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickAction.NoAction">
      <summary>
   Double-clicks should be ignored.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.DoubleClickTarget">
      <since>
   2016
</since>
      <summary>
   Elements that support double-click in Revit.  Note that this is meant to cover cases
   where the element itself is a double-click target.  Individual controls that are targets
   are handled separately.
</summary>
      <since>
   2016
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.OutsideViewOnSheet">
      <summary>
   Outside active view on sheet
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.ComponentStairs">
      <summary>
   Component-based stairs
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.Group">
      <summary>
   Groups
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.Assembly">
      <summary>
   Assemblies
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.ViewOnSheet">
      <summary>
   Views on sheets
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.SketchedElement">
      <summary>
   Sketch-based elements
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.DoubleClickTarget.Family">
      <summary>
   Family instances
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.ViewBrowser">
      <summary>
   The View browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.SystemNavigator">
      <summary>
   The system browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.RebarBrowser">
      <summary>
   The rebar browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.PropertiesPalette">
      <summary>
   The properties palette pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.ProjectBrowser">
      <summary>
   The project browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.HostByLinkNavigator">
      <summary>
   The host by link navigator pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.FamilyBrowser">
      <summary>
   The family browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.FabricationPartBrowser">
      <summary>
   The Fabrication part browser pane.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes.ElementView">
      <summary>
   The element view pane.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePanes.BuiltInDockablePanes">
      <summary>
   A collection of ids of the dockable panes provided by Revit.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePanes">
      <summary>Provides a container of all Revit built-in DockablePaneId instances.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneId.op_Inequality(Autodesk.Revit.UI.DockablePaneId,Autodesk.Revit.UI.DockablePaneId)">
      <summary>Compares two DockablePaneId instances.</summary>
      <param name="first">The first DockablePaneId.</param>
      <param name="second">The second DockablePaneId.</param>
      <returns>True if the inputs are different, false if they are identical.</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneId.op_Equality(Autodesk.Revit.UI.DockablePaneId,Autodesk.Revit.UI.DockablePaneId)">
      <summary>Compares two DockablePaneId instances.</summary>
      <param name="first">The first DockablePaneId.</param>
      <param name="second">The second DockablePaneId.</param>
      <returns>True if the inputs are identical, false if they are different.</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneId.#ctor(System.Guid)">
      <summary>Creates a new DockablePaneId instance.</summary>
      <param name="guid">The identifier for the DockablePaneId. </param>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePaneId">
      <summary>
   Identifier for a pane that participates in the Revit docking window system.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DocTranslateUIUtil.RegenAll(Autodesk.Revit.DB.Document,System.String)">
      <summary>
   RegenAll a family doocumment and saveas in the give folder
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DocTranslateUIUtil.UpgradeFamilies(System.String)">
      <summary>
   Upgrade all family documents in the give folder.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DocTranslateUIUtil">
      <summary>
   This utility is used to translate content files
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DocTestHandlersUtil.FamRetrival(System.String)">
      <summary>
   famRetrival all family documents in the give folder. default metric always
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DocTestHandlersUtil.LoadSave(System.String)">
      <summary>
   loadSave all family documents in the give folder. default metric always
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DocTestHandlersUtil">
      <summary>
   This utility is used to translate content files
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ColorSelectionDialog.Show">
      <summary>
   Shows the Revit Color dialog as a modal dialog.
</summary>
      <returns>
   A status indicating whether the user selected a color or cancelled the dialog without making a selection.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ColorSelectionDialog.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ColorSelectionDialog.OriginalColor">
      <summary>
   The original color.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ColorSelectionDialog.SelectedColor">
      <summary>
   The new color selected by the user.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ColorSelectionDialog.#ctor">
      <summary>
   Default constructor.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ColorSelectionDialog">
      <summary>
   Allows display of the Revit Color dialog.
</summary>
      <remarks>
   The class provides the option to launch the Revit Color dialog to select the color.
</remarks>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ItemSelectionDialogResult">
      <since>
   2017
</since>
      <summary>
   An enumerated type listing the possible responses from a prompted dialog where the
   user is asked to select one or more items.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.ItemSelectionDialogResult.Canceled">
      <summary>
   The user canceled the prompted dialog.  No selected item(s) are available from
   the dialog interfaces.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ItemSelectionDialogResult.Confirmed">
      <summary>
   The user selected one or more item(s) from the prompted dialog and
   confirmed the selection.  The selected item(s) are available
   from the dialog interfaces.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.UIThemeManager.CurrentTheme">
      <summary>
   The current theme.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   When setting this property: A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIThemeManager.DefaultTheme">
      <summary>
   The default theme.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   When setting this property: A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIThemeManager.GetThemeName(Autodesk.Revit.UI.UITheme)">
      <summary>
   Gets the theme name for the given theme type.
</summary>
      <param name="frameTheme">
   The theme.
</param>
      <returns>
   The name of the theme.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UIThemeManager">
      <summary>
   Manager object for the UITheme class.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.UITheme">
      <summary>
   The application frame theme.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.UITheme.Light">
      <summary>
   Light.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.UITheme.Dark">
      <summary>
   Dark.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Macros.DocumentEntryPoint.AddinFolder">
      <summary> The full path to the Revit Macros module. </summary>
      <remarks> This path should be used instead of the .NET GetExecutingAssembly() result, because
the Macros module is loaded in such a way to make that result unreliable.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.DocumentEntryPoint.OnShutdownEO">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.DocumentEntryPoint.FinishInitializationEO">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Macros.DocumentEntryPoint.Initialize(System.Object,System.String)">
      <summary> For Revit Macros internal use only.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Macros.DocumentEntryPoint">
      <summary>For Revit Macros use only.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.GetElementIds">
      <summary>
   Returns the ids of the elements that are currently selected.
</summary>
      <returns>
   The collection containing the ids of the selected elements.
</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.SetElementIds(System.Collections.Generic.ICollection{Autodesk.Revit.DB.ElementId})">
      <summary>
   Selects the elements.
</summary>
      <remarks>
   This function will select the specified elements and update the UI.
</remarks>
      <param name="elementIds">
   The ids of the elements to be selected.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Selection.Selection.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle(Autodesk.Revit.UI.Selection.ISelectionFilter,System.String)">
      <summary>Prompts the user to select multiple elements by drawing a rectangle which pass a customer filter while showing a custom status prompt string.</summary>
      <param name="selectionFilter">The selection filter.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" /> or statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of elements selected by the user. </para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle(Autodesk.Revit.UI.Selection.ISelectionFilter)">
      <summary>Prompts the user to select multiple elements by drawing a rectangle which pass a customer filter.</summary>
      <param name="selectionFilter">The selection filter.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of elements selected by the user. </para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle(System.String)">
      <summary>Prompts the user to select multiple elements by drawing a rectangle while showing a custom status prompt string.</summary>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of elements selected by the user. </para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Selection.cs" region="Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle(string)" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Selection.vb" region="Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle(string)" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickElementsByRectangle">
      <overloads>Prompts the user to select multiple elements by drawing a rectangle.</overloads>
      <summary>Prompts the user to select multiple elements by drawing a rectangle.</summary>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of elements selected by the user. </para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickBox(Autodesk.Revit.UI.Selection.PickBoxStyle,System.String)">
      <summary>
Invokes a general purpose two-click editor that lets the user to specify a rectangular area on the screen.
</summary>
      <param name="style">Specifies the value that controls the style of the pick box.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
The method starts an editor and returns when it finishes. Returns a PickedBox that contains two XYZ points.  
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the style is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the argument statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.
</exception>
      <returns>The picked box that contains two XYZ points. </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickBox(Autodesk.Revit.UI.Selection.PickBoxStyle)">
      <summary>
Invokes a general purpose two-click editor that lets the user to specify a rectangular area on the screen.
</summary>
      <param name="style">Specifies the value that controls the style of the pick box.</param>
      <remarks>
The method starts an editor and returns when it finishes. Returns a PickedBox that contains two XYZ points. 
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the style is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.
</exception>
      <returns>The picked box that contains two XYZ points. </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickPoint(Autodesk.Revit.UI.Selection.ObjectSnapTypes,System.String)">
      <summary>Prompts the user to pick a point on the active work plane using specified snap settings while showing a custom status prompt string.</summary>
      <param name="snapSettings">Specifies the object snap types for this pick. Multiple object snap types can be combined with "|"</param>
      <param name="statusPrompt">Specifies the message shown on the status bar.</param>
      <remarks>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.
<para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para></remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the argument statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when no work plane set in current view.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>The point picked by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Selection.cs" region="Autodesk.Revit.UI.Selection.Selection.PickPoint(Autodesk.Revit.UI.Selection.ObjectSnapTypes, string)" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Selection.vb" region="Autodesk.Revit.UI.Selection.Selection.PickPoint(Autodesk.Revit.UI.Selection.ObjectSnapTypes, string)" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickPoint(System.String)">
      <summary>Prompts the user to pick a point on the active work plane while showing a custom status prompt string.</summary>
      <param name="statusPrompt">Specifies the message shown on the status bar.</param>
      <remarks>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.
<para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para></remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the argument statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when no work plane set in current view.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>The point picked by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickPoint(Autodesk.Revit.UI.Selection.ObjectSnapTypes)">
      <summary>Prompts the user to pick a point on the active work plane using specified snap settings.</summary>
      <param name="snapSettings">Specifies the object snap types for this pick. Multiple object snap types can be combined with "|"</param>
      <remarks>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.
<para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para></remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when no work plane set in current view.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>The point picked by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickPoint">
      <overloads>Prompts the user to pick a point on the active work plane.</overloads>
      <summary>Prompts the user to pick a point on the active work plane.</summary>
      <remarks>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.
<para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para></remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when no work plane set in current view.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>The point picked by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType,Autodesk.Revit.UI.Selection.ISelectionFilter,System.String,System.Collections.Generic.IList{Autodesk.Revit.DB.Reference})">
      <summary>Prompts the user to select multiple objects which pass a custom filter while showing a custom status prompt string. A preselected set of objects may be supplied and will be selected at the start of the selection.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="selectionFilter">The selection filter.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <param name="pPreSelected">The previously selected set of objects.</param>
      <remarks>
        <para>The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. 
Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.</para>
        <para>The previously selected set of objects will be highlighted.</para>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when the Revit user cancelled this operation. 
Thrown when pPreSelected references has objects that are not the type of objectType.
Thrown when objectType is PointOnElement which is not supported for selection involving preselected items.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of references selected by the user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType,Autodesk.Revit.UI.Selection.ISelectionFilter,System.String)">
      <summary>Prompts the user to select multiple objects which pass a custom filter while showing a custom status prompt string.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="selectionFilter">The selection filter.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
        <para>The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. 
Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.</para>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" /> or statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of references selected by the user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Selection.cs" region="Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType, Autodesk.Revit.UI.Selection.ISelectionFilter, string)" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Selection.vb" region="Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType, Autodesk.Revit.UI.Selection.ISelectionFilter, string)" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType,Autodesk.Revit.UI.Selection.ISelectionFilter)">
      <summary>Prompts the user to select multiple objects which pass a customer filter.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="selectionFilter">The selection filter.</param>
      <remarks>
        <para>The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. 
Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.</para>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of references selected by the user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType,System.String)">
      <summary>Prompts the user to select multiple objects while showing a custom status prompt string.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>&gt;<para>The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. 
Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.</para><para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para><para>The selection will not be automatically added to the active selection buffer.</para><para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para></remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of references selected by the user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObjects(Autodesk.Revit.UI.Selection.ObjectType)">
      <overloads>Prompts the user to select multiple objects.</overloads>
      <summary>Prompts the user to select multiple objects.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <remarks>
        <para>The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. 
Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.</para>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A collection of references selected by the user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType,Autodesk.Revit.UI.Selection.ISelectionFilter,System.String)">
      <summary>Prompts the user to select one object which passes a custom filter while showing a custom status prompt string.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="selectionFilter">The selection filter.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" /> or statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A reference object selected by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType,Autodesk.Revit.UI.Selection.ISelectionFilter)">
      <summary>Prompts the user to select one object which passes a custom filter.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="selectionFilter">The selection filter.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the selectionFilter is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A reference object selected by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType,System.String)">
      <summary>Prompts the user to select one object while showing a custom status prompt string.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <param name="statusPrompt">The message shown on the status bar.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when the statusPrompt is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancelled this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A reference object selected by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType)">
      <overloads>Prompts the user to select one object.</overloads>
      <summary>Prompts the user to select one object.</summary>
      <param name="objectType">Specifies the type of object to be selected.</param>
      <remarks>
        <para>Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), 
but will not be permitted to click other items in the Revit user interface. 
Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.</para>
        <para>The selection will not be automatically added to the active selection buffer.</para>
        <para>Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown.</para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">Thrown when the objectType is not a recognized value.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">Thrown when the Revit user cancels this operation. 
Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">Thrown if this method is called during dynamic update.</exception>
      <returns>
        <para>A reference object selected by user.</para>
        <para>Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. </para>
      </returns>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Selection.cs" region="Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType)" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Selection.vb" region="Autodesk.Revit.UI.Selection.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType)" />
      </example>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.Selection">
      <summary>
   Contains the current user selection of elements within the project.
</summary>
      <remarks>
   The Selection object is used to retrieve the current user selected elements when an external API command is executed.
</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\Document_Selection.cs" region="Autodesk.Revit.UI.Selection.Selection" />
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit_Elements\Selection.cs" region="Autodesk.Revit.UI.Selection.Selection" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\Document_Selection.vb" region="Autodesk.Revit.UI.Selection.Selection" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit_Elements\Selection.vb" region="Autodesk.Revit.UI.Selection.Selection" />
      </example>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBoxData.Image">
      <summary>The image of the TextBox.</summary>
      <remarks>The image will be shown on the left side of the item.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TextBoxData.#ctor(System.String)">
      <summary>Constructs a new instance of TextBoxData.</summary>
      <param name="name">The internal name of the TextBoxData.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for name.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for name.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TextBoxData">
      <summary>This class contains information necessary to construct a text box in the Ribbon.</summary>
      <since>2011</since>
    </member>
    <member name="E:Autodesk.Revit.UI.TextBox.EnterPressed">
      <summary>Subscribe to this event to be notified when the Enter button is pressed in the text box. </summary>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.Width">
      <summary>Gets or sets the width of the TextBox.</summary>
      <remarks>The value for this property must be positive and cannot be Infinity. 
This value is interpreted in device-independent units (1/96th inch) measurement
<a href="ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_presentationframework/html/40f9e1d0-afab-e8eb-5eb5-f0499be66eca.htm">device-independent units</a>.
The default value is 200.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.ShowImageAsButton">
      <summary>Gets or sets a value that indicates if the Image set 
in the text box should be displayed as a clickable button.</summary>
      <remarks>If this property is true, the image will shown as a button inside the textbox.
Clicking this button will trigger the EnterPressed event. The default value 
is false.</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.Image">
      <summary>The image of the TextBox.</summary>
      <remarks>The image will be shown on the left side of the item.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.Value">
      <summary>The object that supplies the text value.</summary>
      <remarks>
The value assigned to the TextBox can be a <see cref="T:System.String" /> or any other data type. 
If the type is not a String the TextBox will display the return of the ToString() method. 
When the text is edited in the UI, the type of Value will always be <see cref="T:System.String" />.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.SelectTextOnFocus">
      <summary>
A value that indicates if the text is selected when the text box gains focus.
</summary>
      <remarks>If the value is true all the text in the text box will be selected when the text box gets keyboard 
focus. If it is false the text is not selected. The default value is false.</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TextBox.PromptText">
      <summary>The prompt text for the text box.</summary>
      <remarks>Prompt text is displayed when the text box is empty 
and does not have keyboard focus. This text is displayed in italics. The default value is <see langword="null" />.
</remarks>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TextBox">
      <summary>The TextBox object represents text-based control that allows the user to enter text.</summary>
      <remarks>The ItemText property inherited from RibbonItem has no effect. 
The text entered in the TextBox is edited by the UI user is accepted only if the user presses the Enter key or click the image button when ShowImageAsButton is true. 
If the user clicks off of this component without pressing Enter or click the image button; then the text will be reverted to the previous value.
Use of this class is not supported in Revit Macros.</remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.SplitButtonData.#ctor(System.String,System.String)">
      <summary>Constructs a new instance of SplitButtonData.</summary>
      <param name="name">The internal name of the new button.</param>
      <param text="text">The user visible text seen on the new button. </param>
      <remarks>
This text will be displayed on the button if drop-down is empty. If sub-items are added, 
then the split button will display the current PushButton's text.
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.SplitButtonData">
      <summary>This class contains information necessary to construct a split button in the Ribbon.</summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SplitButton.CurrentButton">
      <summary>Gets or sets the current PushButton of the SplitButton.</summary>
      <remarks>This property is applicable only if IsSynchronizedWithCurrentItem is true.
The default value of this property will be the first enabled PushButton in the drop down list after the SplitButton is shown.             
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when trying to set the CurrentButton to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when trying to set the CurrentButton to a button which is not in current drop-down list.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when trying to set the CurrentButton if IsSynchronizedWithCurrentItem is false.</exception>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.SplitButton.IsSynchronizedWithCurrentItem">
      <summary>
Indicates whether the top PushButton on the SplitButton changes based on the CurrentButton property.
</summary>
      <remarks>
If this property is true the SplitButton uses the current PushButton's properties to display the image, text, tooltip, 
etc. and executes the current item when clicked. If it is false the first listed PushButton in the GetItems() return is shown, 
and executes this PushButton when clicked. 
If it is false the items in drop down list can only be executed by opening the drop down list and clicking an item in the list.
The default value is true.
</remarks>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.SplitButton">
      <summary>The SplitButton object represents a button with a clickable button appearing above a pulldown. </summary>
      <remarks>Use of this class is not supported in Revit Macros.</remarks>
      <since>2011</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\RibbonPanel.cs" region="Autodesk.Revit.UI.SplitButton" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\RibbonPanel.vb" region="Autodesk.Revit.UI.SplitButton" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.PulldownButtonData.#ctor(System.String,System.String)">
      <summary>Constructs a new instance of PulldownButtonData.</summary>
      <param name="name">The internal name of the new button.</param>
      <param text="text">The user visible text seen on the new button. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.PulldownButtonData">
      <summary>This class contains information necessary to construct a pulldown button in the Ribbon.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.PulldownButton.AddSeparator">
      <summary>Adds a separator to the drop-down list.</summary>
      <remarks>The separator will appear just below the last added PushButton. </remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.PulldownButton.AddPushButton(Autodesk.Revit.UI.PushButtonData)">
      <summary>Adds a new pushbutton to the pulldown button and associates it with an ExternalCommand. </summary>
      <param name="buttonData">An object containing the data needed to construct the pushbutton.  </param>
      <remarks> The new button will display its large image if PushButton.LargeImage is set. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when buttonData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when button with buttonData.Name already exists in the button.
</exception>
      <returns> The newly added pushbutton. </returns>
    </member>
    <member name="M:Autodesk.Revit.UI.PulldownButton.GetItems">
      <summary>Gets a copy of the collection of buttons assigned to the pulldown button.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.PulldownButton">
      <summary>The PulldownButton object represents a button with a drop-down list on RibbonPanel.</summary>
      <remarks>Use of this class is not supported in Revit Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.RadioButtonGroupData.#ctor(System.String)">
      <summary>Constructs a new instance of RadioButtonGroupData.</summary>
      <param name="name">The internal name of the RadioButtonGroup.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for name.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for name.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.RadioButtonGroupData">
      <summary>This class contains information necessary to construct a ribbon gallery in the Ribbon.</summary>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RadioButtonGroup.GetItems">
      <summary>Gets the collection of ToggleButtons assigned to the RadioButtonGroup.</summary>
      <remarks>This is a copy of all the ToggleButtons assigned to this group.  
</remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RadioButtonGroup.AddItems(System.Collections.Generic.IList{Autodesk.Revit.UI.ToggleButtonData})">
      <summary>Adds new ToggleButtons to the RadioButtonGroup.</summary>
      <param name="buttonData">A list of objects containing the data needed to construct the ToggleButtons.  </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when buttonData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when button with buttonData.Name already exists in the group.
</exception>
      <returns> The newly added ToggleButtons. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RadioButtonGroup.AddItem(Autodesk.Revit.UI.ToggleButtonData)">
      <summary>Adds a new ToggleButton to the RadioButtonGroup.</summary>
      <param name="buttonData">An object containing the data needed to construct the ToggleButton.  </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when buttonData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when button with buttonData.Name already exists in the group.
</exception>
      <returns> The newly added ToggleButton. </returns>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RadioButtonGroup.Current">
      <summary>Gets or sets the current checked ToggleButton of the RadioButtonGroup.</summary>
      <remarks>
The default value is the first ToggleButton added to the group.
When using this property to set the current ToggleButton, the external command of that button will not be called.
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when trying to set this property to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when trying to set this property to a button not in this group.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.RadioButtonGroup">
      <summary>Represents a group of related buttons in the Ribbon. </summary>
      <remarks>
This class contains a collection of ToggleButtons. Only one of the ToggleButtons will appear active at a given time. 
When a different button is clicked in the UI the current ToggleButton will be changed, and the ToggleButton's external command will be invoked.
Use of this class is not supported in Revit Macros.
</remarks>
      <since>2011</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\RibbonPanel.cs" region="Autodesk.Revit.UI.RadioButtonGroup" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\RibbonPanel.vb" region="Autodesk.Revit.UI.RadioButtonGroup" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.RevitCommandId.GetInternalCommandName">
      <returns>
   The name of the command we set internally.
</returns>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RevitCommandId.LookupCommandId(System.String)">
      <summary>
   Looks up and retrieves the Revit command id with the given id string.
</summary>
      <param name="name">
   he Revit command name. Refer to the entries in the Revit journal to find the string to use for a particular command.
</param>
      <returns>
   The Revit command id. Returning "null" if a command with the given name was not found.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RevitCommandId.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RevitCommandId.HasBinding">
      <summary>
   Indicates whether a replacement of either the Execute or CanExecute events (or both) have been applied to this command.
</summary>
      <remarks>
   This will not indicate if one or more applications have subscribed to the BeforeExecuted event,
   as this event is not limited to a single subscriber.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RevitCommandId.CanHaveBinding">
      <summary>
   Indicates whether the command can be assigned a binding to an external add-in.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RevitCommandId.Id">
      <summary>
   The command id.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RevitCommandId.Name">
      <summary>
   The command name.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RevitCommandId.LookupPostableCommandId(Autodesk.Revit.UI.PostableCommand)">
      <summary> Looks up and retrieves the Revit command id with the given id string.</summary>
      <param name="postableCommand">The postable command. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when name is <see langword="null" />.</exception>
      <returns> The Revit command id. Returning <see langword="null" /> if a command with the given name was not found.</returns>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RevitCommandId.#ctor(System.String,System.UInt32)">
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.RevitCommandId">
      <summary>
   Represents a command id in Autodesk Revit.
</summary>
      <remarks>
   Each Revit command is assigned a command id and non-localized name.
   This class allows you to look up a command by its name, and represents any Revit command in the use of an AddInCommandBinding.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IControllableDropHandler.CanExecute(Autodesk.Revit.UI.UIDocument,System.Object,Autodesk.Revit.DB.ElementId)">
      <summary>
Implement this method to inform Revit whether the drop event can be executed onto the given view.
</summary>
      <remarks>
Document modifications are not permitted from this callback.
</remarks>
      <param name="document">The document on which the data was dropped.</param>
      <param name="data">The data.</param>
      <param name="dropViewId">The view upon which the user will drop.</param>
      <returns> Return true to activate the target view and execute the drop. 
Return false to cancel the activation and the drop execution.</returns>
    </member>
    <member name="T:Autodesk.Revit.UI.IControllableDropHandler">
      <summary>
   An interface to be executed when custom data is dragged and dropped onto the Revit user interface.
   This interface is different from IDropHandler in that it allows the handler to verify whether the drop event can be executed on the given view.
</summary>
      <remarks>
Custom data is supported for drag and drop only during an invocation of the DoDragDrop method on Application.
</remarks>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IDropHandler.Execute(Autodesk.Revit.UI.UIDocument,System.Object)">
      <summary>
Implement this method to handle the drop event for your data.
</summary>
      <param name="document">The document on which the data was dropped.</param>
      <param name="data">The data.</param>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.IDropHandler">
      <summary>
   An interface to be executed when custom data is dragged and dropped onto the Revit user interface.
</summary>
      <remarks>
Custom data is supported for drag and drop only during an invocation of the DoDragDrop method on Application.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.AddInCommandBinding.CanExecute">
      <summary>Occurs when the command associated with this AddInCommandBinding initiates a check to determine whether 
the command can be executed on the command target. </summary>
      <remarks>
This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback
must be fast and is not permitted to be blocking in any way.
</remarks>
      <since>2013</since>
    </member>
    <member name="E:Autodesk.Revit.UI.AddInCommandBinding.Executed">
      <summary>Occurs when the command associated with this AddInCommandBinding executes. </summary>
      <since>2013</since>
    </member>
    <member name="E:Autodesk.Revit.UI.AddInCommandBinding.BeforeExecuted">
      <summary>Occurs before the command associated with this AddInCommandBinding executes. </summary>
      <since>2014</since>
    </member>
    <member name="P:Autodesk.Revit.UI.AddInCommandBinding.RevitCommandId">
      <summary>The Revit command Id.</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.AddInCommandBinding.#ctor(Autodesk.Revit.UI.UIApplication,Autodesk.Revit.UI.RevitCommandId)">
      <summary>Constructs a new AddInCommandBinding.</summary>
      <param name="uiApplication">The UI application. </param>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.AddInCommandBinding">
      <summary> This object represents a binding between a Revit command and one or more handlers which 
override the behavior of the command in Revit.</summary>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.PostableCommand">
      <summary>
   Enumerates all of the built-in commands which can be posted by an API application.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StatusBar">
      <summary>
   Displays the status bar at the bottom of the Revit window.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExitRevit">
      <summary>
   Exit Revit.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TileWindows">
      <summary>
   Arranges all open views, tiled in the drawing area.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CascadeWindows">
      <summary>
   Arranges all open windows in a series in the drawing area.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReplicateWindow">
      <summary>
   Opens another instance of the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PasteFromClipboard">
      <summary>
   Pastes elements from the clipboard into the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CutToClipboard">
      <summary>
   Removes selected elements, and places them on the clipboard.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CopyToClipboard">
      <summary>
   Copies selected elements to the clipboard.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PrintPreview">
      <summary>
   Displays a preview version of the current view or sheet to print.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Print">
      <summary>
   Sends the current drawing area or selected views and sheets to a printer or a printable file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PrintSetup">
      <summary>
   Specifies print options.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveAsProject">
      <summary>
   Saves the current Revit project file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Save">
      <summary>
   Saves the currently open project file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Close">
      <summary>
   Close Revit.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OpenRevitFile">
      <summary>
   Opens any Revit file type.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Playlist">
      <summary>
   Provides an easy way to use Dynamo content.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FabricationPart">
      <summary>
   Displays the Fabrication Part Browser pane.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AssemblyCode">
      <summary>
   Specifies the location of the assembly code file or reloads the assembly code table from the current file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DisplaceElements">
      <summary>
   Creates a view-specific representation of model elements that can be displaced in the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowEnergyModel">
      <summary>
   Displays or hides the energy analytical model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RenderGallery">
      <summary>
   Opens your online gallery of completed and in-progress renderings in a web browser.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RenderInCloud">
      <summary>
   Renders 3D views online to create still images or interactive panoramas.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StairTreadOrRiserNumber">
      <summary>
   Creates a sequence of tread or riser numbers for a run in plan, elevation, or section views.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CreateAssembly">
      <summary>
   Creates an assembly from elements you select in the drawing area.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.GuideGrid">
      <summary>
   Creates a new guide element in the active sheet to help align elements within and between sheets.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportMassModelGBXML">
      <summary>
   Saves the conceptual energy model as a gbXML file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ResultsAndCompare">
      <summary>
   Displays graphical results of energy simulation, and provides tools for comparing, emailing, and exporting analysis results.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RunEnergySimulation">
      <summary>
   Subscription only feature. Sends energy analytical model and parameters to Autodesk Green Building Studio for simulation.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.EnergySettings">
      <summary>
   Specifies parameters used to create the energy analytical model plus energy related data used in the energy simulation.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FindOrReplace">
      <summary>
   Finds and replaces text in an open project file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadCombinations">
      <summary>
   Adds and edits load combinations for the analytical model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadCases">
      <summary>
   Adds and edits load cases for the analytical model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StairBySketch">
      <summary>
   Adds a stair to the building model by sketching runs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.HalftoneOrUnderlay">
      <summary>
   Customizes halftone and underlay elements in view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveAsTemplate">
      <summary>
   Saves the current Revit project file as a template.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BeamOrColumnJoins">
      <summary>
   Adjusts how beams and columns frame into one another.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.KeyboardShortcuts">
      <summary>
   Assigns key sequences to tools.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MirrorDrawAxis">
      <summary>
   Draws a temporary line to use as an axis for mirroring.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MeasureAlongAnElement">
      <summary>
   Measures the length of an element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MeasureBetweenTwoReferences">
      <summary>
   Measures the distance between 2 elements or other references.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ArcLengthDimension">
      <summary>
   Places a dimension that measures the length of a curved wall or other element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RadialDimension">
      <summary>
   Places a dimension that measures the radius of an inner curve or fillet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AngularDimension">
      <summary>
   Places a dimension that measures the angle between reference points sharing a common intersection.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinearDimension">
      <summary>
   Places horizontal or vertical dimensions that measure the distance between reference points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedDimension">
      <summary>
   Places dimensions between parallel references, or between multiple points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TrimOrExtendMultipleElements">
      <summary>
   Trims or extends multiple elements (such as walls, lines, and beams) to a boundary defined by another element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TrimOrExtendSingleElement">
      <summary>
   Trims or extends one element (such as a wall, line, or beam) to a boundary defined by another element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TrimOrExtendToCorner">
      <summary>
   Trims or extends elements (such as walls or beams) to form a corner.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ColorSchemes">
      <summary>
   Creates or modifies a color fill scheme for rooms and areas.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.EditRebarCover">
      <summary>
   Edits the rebar cover references of an entire rebar host or an individual face.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VoidSweptBlend">
      <summary>
   Creates a blend that sweeps along a defined path, and uses the resulting 3D shape to remove part of a solid 3D shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SolidSweptBlend">
      <summary>
   Creates a blend that sweeps along a defined path.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AreaReinforcementSymbol">
      <summary>
   Places a symbol that shows extents and hook types for the selected area reinforcement.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralAreaReinforcement">
      <summary>
   Sketches the boundary of an area to populate with rebar.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BeamSystemSymbol">
      <summary>
   Places a beam system span tag.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RemoveCoping">
      <summary>
   Removes coping from steel beams and columns.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ApplyCoping">
      <summary>
   Adds coping to steel beams and columns.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.GraphicalColumnSchedule">
      <summary>
   Creates a graphical column schedule for the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowLastReport">
      <summary>
   Displays the most recent interference check report.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralTrusses">
      <summary>
   Adds a truss to the structure model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportGBXML">
      <summary>
   Saves the project as a gbXML file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SynchronizeNow">
      <summary>
   Updates a local copy of a workshared project using settings from the Synchronize with Central dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.InPlaceMass">
      <summary>
   Creates a mass that is unique to the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceMass">
      <summary>
   Places an instance of a mass family in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AutomaticBeamSystem">
      <summary>
   Creates a layout that is used to control the number and spacing of a series of parallel beams.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveAsLibraryView">
      <summary>
   Saves a copy of all loaded families, the selected family, group, or view to your library.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Insert2DElementsFromFile">
      <summary>
   Copies 2D elements from a detail view (saved in another project) into a detail view in the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.InsertViewsFromFile">
      <summary>
   Copies specified views (sheets, schedules, or drafting views) from a project file and saves them in the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RepeatingDetailComponent">
      <summary>
   Repeats a detail component along a path.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CheckSpelling">
      <summary>
   Checks the spelling of text notes in a selection or in the current view or sheet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SlabEdgeFloor">
      <summary>
   Shapes the horizontal edge of a floor slab.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Gutter">
      <summary>
   Adds a gutter to the edge of a roof, soffit, or fascia, or to model lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Fascia">
      <summary>
   Adds fascia to the edge of a roof, soffit, or other fascia, or to model lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowWorkPlane">
      <summary>
   Displays or hides the active work plane in the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AreaAndVolumeComputations">
      <summary>
   Specifies how areas and volumes are calculated, and creates area schemes.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SiteComponent">
      <summary>
   Adds site-specific elements, such as trees, parking islands, and fire hydrants.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowDisconnects">
      <summary>
   Controls the display of graphical disconnect warnings for duct, pipe, conduit, cable tray, and electrical circuits.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ParallelPipes">
      <summary>
   Creates parallel runs of pipe based on an initial pipe run.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipePlaceholder">
      <summary>
   Draws placeholder pipe without elbow or tee fittings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctPlaceholder">
      <summary>
   Draws placeholder duct without elbow or tee fittings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ParallelConduits">
      <summary>
   Creates parallel runs of conduit based on an initial conduit run.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.EditATemplate">
      <summary>
   Modifies a specific panel schedule template.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ManageTemplates">
      <summary>
   Manages and applies panel schedule templates to existing schedules in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Conduit">
      <summary>
   Draws rigid conduit runs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CableTray">
      <summary>
   Draws cable tray runs such as rigid ladder or channel cable tray.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ConduitFitting">
      <summary>
   Places a conduit fitting. These fittings include elbows, tees, wyes, crosses, and other unions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CableTrayFitting">
      <summary>
   Places a cable tray fitting. These fittings include elbows, tees, wyes, crosses, and other unions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ConduitConnector">
      <summary>
   Adds a conduit connector to a component.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CableTrayConnector">
      <summary>
   Adds a cable tray connector to a component.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Telephone">
      <summary>
   Places a telephone jack.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Security">
      <summary>
   Places security devices such as door locks, motion sensors, and surveillance cameras.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NurseCall">
      <summary>
   Places nurse call devices such as call stations, code blue stations, and door lights.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Lighting">
      <summary>
   Places lighting switches such as daylight sensors, occupancy sensors, and manual switches.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FireAlarm">
      <summary>
   Places fire alarm devices such as smoke detectors, manual pull stations, and annunciators.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Data">
      <summary>
   Places data devices such as ethernet and other network connections.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Communication">
      <summary>
   Places communication devices such as intercom system components.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SplineWire">
      <summary>
   Draws splined wire runs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ChamferedWire">
      <summary>
   Draws chamfered wire runs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BuildingOrSpaceTypeSettings">
      <summary>
   Opens the Building and Space Type Settings dialog to manage building and space parameters and schedules.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Zone">
      <summary>
   Defines HVAC zones within a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipeConnector">
      <summary>
   Adds a pipe connector to a component.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctConnector">
      <summary>
   Adds a duct connector to a component.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElectricalConnector">
      <summary>
   Adds an electrical connector to a component.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Sprinkler">
      <summary>
   Places a sprinkler.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.HeatingAndCoolingLoads">
      <summary>
   Prepares a heating and cooling loads analysis report based on the existing building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlumbingFixture">
      <summary>
   Places plumbing fixtures. These fixtures include sinks, water closets, tubs, drains, and various appliances.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MechanicalSettings">
      <summary>
   Opens the Mechanical Settings dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CheckDuctSystems">
      <summary>
   Verifies all duct systems for properly connected ductwork and valid system assignments.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CheckPipeSystems">
      <summary>
   Verifies all pipe systems for properly connected pipes and valid system assignments.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipeLegend">
      <summary>
   Places a legend to indicate the color fills associated with piping systems.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ArcWire">
      <summary>
   Draws arced wire runs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipeAccessory">
      <summary>
   Places a pipe accessory. These accessories include connectors, valves, and inline water heaters.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipeFitting">
      <summary>
   Places a pipe fitting. These fittings include elbows, tees, wyes, crosses, unions, and other types of fittings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FlexPipe">
      <summary>
   Draws flexible piping.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Pipe">
      <summary>
   Draws rigid piping.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DemandFactors">
      <summary>
   Applies demand factors to a panel.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CheckCircuits">
      <summary>
   Verifies all circuits for proper connections to panels and valid system assignments. Errors are reported in a warning dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElectricalFixture">
      <summary>
   Places electrical devices such as receptacles, junction boxes, and other power devices.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElectricalEquipment">
      <summary>
   Places electrical equipment such as panels and switch gear.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LightingFixture">
      <summary>
   Places lighting fixtures such as ceiling, wall, and recessed lights.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadClassifications">
      <summary>
   Assigns and specifies demand factors to a load classification.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElectricalSettings">
      <summary>
   Opens the Electrical Settings dialog to define distribution systems, wire types, cable tray and conduit sizes, and demand factors.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PanelSchedules">
      <summary>
   Generates a panel schedule for a specified panel.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctLegend">
      <summary>
   Places a legend to indicate the color fills associated with ductwork in duct systems.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ConvertToFlexDuct">
      <summary>
   Changes a length of ductwork connected to an air terminal from rigid duct to flexible duct.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FlexDuct">
      <summary>
   Draws round and rectangular flexible ductwork.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctFitting">
      <summary>
   Places a duct fitting. These fittings include elbows, tees, wyes, crosses, and other types of fittings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MechanicalEquipment">
      <summary>
   Places mechanical equipment such as boilers, furnaces, or fans.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Duct">
      <summary>
   Draws rigid round, rectangular, or oval ductwork.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AirTerminal">
      <summary>
   Places a register, grille, or diffuser.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctAccessory">
      <summary>
   Places a duct accessory. These accessories include dampers, filters and smoke detectors.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinkIFC">
      <summary>
   Links an IFC file to the current project to reference its information for additional design work.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FabricationSettings">
      <summary>
   Opens the Fabrication Settings dialog.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinearMultiRebarAnnotation">
      <summary>
   Tags multiple elements with a single annotation that displays linear dimensions between references as well as parameters from the referenced elements. For example, all rebar in a rebar set can be referenced with a single tag.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedMultiRebarAnnotation">
      <summary>
   Tags multiple elements with a single annotation that displays aligned dimensions between references as well as parameters from the referenced elements. For example, all rebar in a rebar set can be referenced with a single tag.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SingleFabricSheetPlacement">
      <summary>
   Places a single fabric sheet on floors, walls, and foundation slabs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OpenSampleFiles">
      <summary>
   Opens a Revit sample file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PipePressureLossReport">
      <summary>
   Generates a pressure loss report for one or more pipe systems.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuctPressureLossReport">
      <summary>
   Generates a pressure loss report for one or more duct systems.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceOnHost">
      <summary>
   Places a railing on a stair or ramp.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FabricReinforcementSymbol">
      <summary>
   Places a symbol that represents the fabric sheet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralFabricArea">
      <summary>
   Sketches the boundary of a fabric area to populate with fabric sheets.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DiameterDimensionTypes">
      <summary>
   Defines attributes for diameter dimensions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DiameterDimension">
      <summary>
   Places a dimension that measures the diameter of an arc or circle.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AdjustAnalyticalModel">
      <summary>
   Adjusts the analytical model of the structural member in relation to those of the elements to which it joins.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SplitFace">
      <summary>
   Divides the face of an element (such as a wall or column) into regions for the application of different materials.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReconcileHosting">
      <summary>
   Lists tags and elements hosted by the linked model that require review, due to changes in the linked model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FormWorkPlaneView">
      <summary>
   Enables the Workplane Viewer.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportBuildingSite">
      <summary>
   Exports an ADSK exchange file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NavigationBar">
      <summary>
   Shows or hides the navigation bar, which provides access to the ViewCube, SteeringWheels, and zoom/pan functions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MacroSecurity">
      <summary>
   Specifies the default security settings for macros in the Revit application or a document.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MacroManager">
      <summary>
   Opens the Macro Manager to run, create, or delete a macro.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AllowableBarTypes">
      <summary>
   Defines the allowable rebar types (diameters) of the shape type.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BeamAnnotations">
      <summary>
   Places multiple beam tags, annotations, and spot elevations.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ViewCube">
      <summary>
   Shows or hides the ViewCube, which allows you to change the orientation of a 3D view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CreateParts">
      <summary>
   Creates parts from the layers or subcomponents of a selected element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RecentFiles">
      <summary>
   Displays a list of recently opened files, and provides access to important resources and links.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportFBX">
      <summary>
   Saves a 3D view as an FBX file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReinforcementSettings">
      <summary>
   Customizes reinforcement settings such as rounding parameters, rebar hosting and abbreviations of area/path reinforcement tagging.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MajorSegment">
      <summary>
   Identifies one segment of the rebar shape that maintains its general position in rotation and auto-expansion behaviors.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MaskingRegion">
      <summary>
   Creates a graphic that obscures elements in a project or family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuplicateAsDependent">
      <summary>
   Creates a view that is dependent on the original view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OverrideByFilter">
      <summary>
   Changes the graphic display settings for all elements in the view that meet the criteria specified in a filter.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OverrideByElement">
      <summary>
   Changes the graphic display settings for selected elements in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.HideElements">
      <summary>
   Hides selected elements in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotSlope">
      <summary>
   Displays the slope at a specific point on a face or an edge of a model element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShaftOpening">
      <summary>
   Creates a vertical opening that spans multiple levels, cutting through intervening roofs, floors, and ceilings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.WallOpening">
      <summary>
   Cuts a rectangular opening in a straight or curved wall.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DormerOpening">
      <summary>
   Cuts a roof to create an opening for a dormer.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VerticalOpening">
      <summary>
   Cuts a vertical opening through a roof, floor, or ceiling.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OpeningByFace">
      <summary>
   Creates an opening that is perpendicular to the selected face of a roof, floor, or ceiling.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PathReinforcementSymbol">
      <summary>
   Places a symbol that shows extents and hook types for the selected path reinforcement.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralPathReinforcement">
      <summary>
   Sketches the path of evenly placed reinforcing bars that are created perpendicular to the sketch.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BoundaryConditions">
      <summary>
   Defines point, line, and area boundary conditions in an analytical model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MultiCategoryTag">
      <summary>
   Attaches tags to elements of multiple categories, based on a shared parameter.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.EditSelection">
      <summary>
   Edits a previously saved selection set.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveSelection">
      <summary>
   Saves the currently selected elements as a set.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadSelection">
      <summary>
   Loads a previously saved selection set.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.UserKeynote">
      <summary>
   Tags an element with a keynote that you select.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MaterialKeynote">
      <summary>
   Tags a selected element using the keynote specified for its material.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElementKeynote">
      <summary>
   Tags a selected element using the keynote specified for the element type.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Slab">
      <summary>
   Adds a foundation slab to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CoordinationSettings">
      <summary>
   Specifies mapping behavior when copying MEP fixtures from a linked model into the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MaterialTag">
      <summary>
   Tags a selected element using the description specified for its material.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Isolated">
      <summary>
   Adds footings or pile caps to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Wall">
      <summary>
   Creates foundations hosted by walls.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SelectLink">
      <summary>
   Displays warnings for monitored elements between linked projects and the host project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.UseCurrentProject">
      <summary>
   Displays warnings for monitored elements in the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralRebar">
      <summary>
   Places planar or multi-planar rebar.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowMassZonesAndShades">
      <summary>
   Displays mass zones, glazing, and shades if they have been specified.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowMassSurfaceTypes">
      <summary>
   Displays mass faces, including any glazing and shades that have been specified.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowMassByViewSettings">
      <summary>
   Displays masses based on the settings for the current view. By default, masses are turned off.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.WallByFaceWall">
      <summary>
   Creates walls using faces of a mass or generic model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CurtainSystemByFace">
      <summary>
   Creates a curtain system on the face of a mass or generic model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowMassFormAndFloors">
      <summary>
   Displays mass forms and any mass floors you have specified in all views.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RebarCoverSettings">
      <summary>
   Adds, removes, or modifies the default rebar cover settings.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReferenceLine">
      <summary>
   Creates a reference line that you can use when creating a new mass, or to create constraints for the mass.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralSettings">
      <summary>
   Defines settings for analytical elements and the display of structural framing.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Loads">
      <summary>
   Applies point, line, and area loads to a model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Scale">
      <summary>
   Resizes the selected item.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralFloor">
      <summary>
   Creates a structural floor (slab) for the current level of the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpanDirectionSymbol">
      <summary>
   Places a span direction symbol on a structural floor.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralWall">
      <summary>
   Creates a load-bearing or shear wall in the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralColumn">
      <summary>
   Adds a vertical load-bearing element to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Brace">
      <summary>
   Adds diagonal structural members connected to beams and columns.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Beam">
      <summary>
   Adds individual beams, a chain of beams, or beams along grid lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Railing">
      <summary>
   Creates a railing by sketching the railing path.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Subregion">
      <summary>
   Defines an area within a toposurface.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveAsLibraryFamily">
      <summary>
   Saves a copy of all loaded families, the selected family, group, or view to your library.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.EditingRequests">
      <summary>
   Displays a list of other usersâ€™ requests to borrow elements in your worksets, and your pending requests.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PickToEdit">
      <summary>
   Opens a design option for editing by selecting an element contained in the option.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AddToSet">
      <summary>
   Moves selected elements from the main model to one or more design options in a set.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DesignOptions">
      <summary>
   Creates and manages design option sets and individual design options for the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ViewReference">
      <summary>
   Adds an annotation indicating the sheet number and detail number for a selected view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Matchline">
      <summary>
   Adds matchlines to indicate where a view is split.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BrowserOrganization">
      <summary>
   Changes the way that views are listed in the Project Browser.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlanRegion">
      <summary>
   Creates a plan region within a view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishCoordinates">
      <summary>
   Determines the coordinates used in the current project, and uses them for a linked project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SelectById">
      <summary>
   Uses an elementâ€™s unique identifier to locate and select the element in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.IdsOfSelection">
      <summary>
   Displays unique identifiers for the selected elements.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReportSharedCoordinates">
      <summary>
   Displays shared coordinates of a linked model within a host model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AcquireCoordinates">
      <summary>
   Determines the coordinates used in a linked project, and uses them for the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Location">
      <summary>
   Specifies the geographic location for the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuplicateWithDetailing">
      <summary>
   Creates a view that includes model geometry and view-specific elements from the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RotateTrueNorth">
      <summary>
   Changes the angle for a project relative to True North.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RelocateProject">
      <summary>
   Moves the model relative to the shared coordinate system.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ProjectParameters">
      <summary>
   Specifies parameters that can be added to categories of elements in a project, and used in schedules.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportImagesandAnimationsImage">
      <summary>
   Saves animations or image files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinkRevit">
      <summary>
   Links another model to the current model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ThinLines">
      <summary>
   Displays all lines on screen as a single width, regardless of zoom level.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SplitWithGap">
      <summary>
   Splits a wall into 2 separate walls with a defined gap between them.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LabelContours">
      <summary>
   Displays the elevations of contour lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RebarLine">
      <summary>
   Defines lines and geometry of the rebar shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceDecal">
      <summary>
   Places an image on surfaces of a building model for rendering.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PurgeUnused">
      <summary>
   Removes unused families and types from a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Offset">
      <summary>
   Copies or moves a selected element (such as a line, wall, or beam) a specified distance perpendicular to its length.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LegendComponent">
      <summary>
   Adds a graphic representation of a selected model element to a legend view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SharedParameters">
      <summary>
   Specifies parameters that can be used in multiple families and projects.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MergeSurfaces">
      <summary>
   Combines 2 toposurfaces to create one toposurface.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TagAllNotTagged">
      <summary>
   Adds tags to multiple elements in one step.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SwitchJoinOrder">
      <summary>
   Changes the order in which elements join with one another.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.UnjoinGeometry">
      <summary>
   Removes a join between 2 or more elements.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.JoinGeometry">
      <summary>
   Creates clean joins between 2 or more host elements that share a common face, such as walls and floors.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Area">
      <summary>
   Creates an area defined by walls and boundary lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AreaBoundary">
      <summary>
   Defines boundaries for areas.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AreaTag">
      <summary>
   Tags the selected area.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CloseHiddenWindows">
      <summary>
   Closes windows that are hidden by the current window.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportReportsSchedule">
      <summary>
   Saves a schedule or Room/Area report.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CutProfile">
      <summary>
   Changes the shape of elements that are cut in a view, such as roofs, walls, floors, and the layers of compound structures.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SymbolicLine">
      <summary>
   Creates lines that are meant for symbolic purposes only, and are not part of the actual geometry of the component or building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TransferProjectStandards">
      <summary>
   Copies selected project settings from another open project to the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ParkingComponent">
      <summary>
   Adds parking spaces to a toposurface.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SaveAsLibraryGroup">
      <summary>
   Saves a copy of all loaded families, the selected family, group, or view to your library.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadAsGroup">
      <summary>
   Loads a Revit file as a group.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportODBCDatabase">
      <summary>
   Saves model data to an ODBC database.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RestoreBackup">
      <summary>
   Rolls back changes made to a workshared project, or saves a specific backup version as a new file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CreateTemplateFromCurrentView">
      <summary>
   Creates a view template using the properties of the current view as the basis for the new template.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ManageViewTemplates">
      <summary>
   Displays parameters for view templates in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RemoveHiddenLinesByElement">
      <summary>
   Removes hidden lines for model elements and detail elements that are obscured by other elements in the active view only.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowHiddenLinesByElement">
      <summary>
   Displays hidden lines for individual model elements and detail elements that are obscured by other elements in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ModelText">
      <summary>
   Adds 3D text to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NoteBlock">
      <summary>
   Creates a schedule of annotations added using the Symbol tool.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RemovePaint">
      <summary>
   Removes paint from selected faces.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Paint">
      <summary>
   Applies a material to the face of an element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SweepWall">
      <summary>
   Creates a wall sweep by extruding a profile along a path.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RevealWall">
      <summary>
   Extrudes a profile along a path to create a cutout in a wall.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ApplyTemplatePropertiesToCurrentView">
      <summary>
   Applies properties stored in a view template to the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ManageImages">
      <summary>
   Lists all raster images used in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Toposurface">
      <summary>
   Defines a topographical surface in a site plan or a 3D view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.GradedRegion">
      <summary>
   Modifies a toposurface to indicate changes during the construction process.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AreaPlan">
      <summary>
   Creates an area plan view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SheetList">
      <summary>
   Creates a schedule that lists the drawings in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ModelInPlace">
      <summary>
   Creates a component that is unique to the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ProjectInformation">
      <summary>
   Specifies energy data, project status, and client information.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SynchronizeAndModifySettings">
      <summary>
   Allows you to specify options for the synchronization operation.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RevisionCloud">
      <summary>
   Adds a revision cloud to the current view or sheet to indicate design areas that have changed.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Demolish">
      <summary>
   Marks elements as demolished in the current phase.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Legend">
      <summary>
   Creates a list of building components and annotations used in a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DraftingView">
      <summary>
   Creates a view showing details that are not directly associated with the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SetWorkPlane">
      <summary>
   Specifies the work plane for the current view or for a selected work-planeâ€“based element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Linework">
      <summary>
   Overrides the line style for a selected line in the active view only.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ScopeBox">
      <summary>
   Controls the visibility of datum elements (grids, levels, and reference lines) in specific views.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MatchTypeProperties">
      <summary>
   Converts one or more elements to match the type of another element in the same view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BuildingPad">
      <summary>
   Adds a building pad from a closed loop that you sketch on a toposurface.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PropertyLine">
      <summary>
   Creates a property line in a plan view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Phases">
      <summary>
   Specifies project phases, phase filters, and graphic overrides for phases.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Worksets">
      <summary>
   Creates worksets and adds elements to them.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CreateSimilar">
      <summary>
   Places an element of the same type as the selected element
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Insulation">
      <summary>
   Places a batt insulation graphic in a detail view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DetailLine">
      <summary>
   Creates view-specific lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DetailComponent">
      <summary>
   Adds a view-specific detail component to a view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OverrideByCategory">
      <summary>
   Changes the graphic display settings for all elements that belong to the same category as the selected element in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceDetailGroup">
      <summary>
   Places an instance of a detail group in the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.UncutGeometry">
      <summary>
   Selects which geometry does not get cut when you join geometry.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CutGeometry">
      <summary>
   Selects the geometry to cut.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VoidSweep">
      <summary>
   Creates a 3D shape by sweeping a 2D profile along a path, and uses the resulting 3D shape to remove part of a solid 3D shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VoidRevolve">
      <summary>
   Creates a 3D shape by sweeping a 2D profile around an axis, and uses the 3D shape to remove part of a solid 3D shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VoidBlend">
      <summary>
   Creates a 3D blend, which is then used to remove part of a solid 3D shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VoidExtrusion">
      <summary>
   Creates a 3D shape that is then used to remove part of a solid 3D shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DetailLevel">
      <summary>
   Specifies the detail level (coarse, medium, or fine) that applies to each view scale by default.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReflectedCeilingPlan">
      <summary>
   Creates a reflected ceiling plan view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LineStyles">
      <summary>
   Creates or modifies line styles.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReviewWarnings">
      <summary>
   Displays a list of messages that you can ignore or resolve.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotCoordinateTypes">
      <summary>
   Defines attributes for spot coordinates.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotElevationTypes">
      <summary>
   Defines attributes for spot elevations.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Arrowheads">
      <summary>
   Specifies line weights, fills, and styles for annotation arrowheads.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotSlopeTypes">
      <summary>
   Defines attributes for spot slopes.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedToSamePlace">
      <summary>
   Pastes the elements to the same place from which they were cut or copied.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NewAnnotationSymbol">
      <summary>
   Creates a tag or symbol to identify elements in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadedTagsAndSymbols">
      <summary>
   Lists the tags and symbols that will be used for each element category.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedToSelectedViews">
      <summary>
   Pastes selected elements, including view-specific elements such as dimensions, into specified views.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TagByCategory">
      <summary>
   Attaches a tag to an element based on the element category.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedToSelectedLevels">
      <summary>
   Pastes multiple elements from one level to specified levels.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StartingView">
      <summary>
   Specifies the view that first displays when you open the model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.WallJoins">
      <summary>
   Changes how walls join together (butt, miter, square off).
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedToPickedLevel">
      <summary>
   Pastes the selected elements into a elevation view or a section view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AlignedToCurrentView">
      <summary>
   Pastes elements that were cut or copied from another view into the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RoomSeparator">
      <summary>
   Creates a separation line to bound rooms where no walls or other room-bounding elements exist.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Ramp">
      <summary>
   Adds a ramp to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CreateGroup">
      <summary>
   Creates a group of elements for easy reuse.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SolidSweep">
      <summary>
   Creates a 3D shape by sweeping a 2D profile along a path.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Callout">
      <summary>
   Creates a rectangular callout in the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ScheduleOrQuantities">
      <summary>
   Creates a key schedule or a schedule of building components.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SolidRevolve">
      <summary>
   Creates a 3D shape by sweeping a 2D profile around an axis.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ManageLinks">
      <summary>
   Provides options for managing links to building models, CAD files, DWF markup files, and point clouds.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SolidBlend">
      <summary>
   Creates a solid 3D shape that changes along its length, blending from a starting shape to an ending shape.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.JoinOrUnjoinRoof">
      <summary>
   Connects roofs to other roofs or walls, or reverses a previous join.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BuildingElevation">
      <summary>
   Creates an elevation view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ColorFillLegend">
      <summary>
   Places a legend in a view to indicate the meanings of color fills for rooms or areas.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportOptionsExportSetupsDWGOrDXF">
      <summary>
   Sets export options for CAD and IFC.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportOptionsExportSetupsDGN">
      <summary>
   Sets export options for CAD and IFC.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DuplicateView">
      <summary>
   Creates a view that contains only the model geometry from the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Symbol">
      <summary>
   Places a 2D annotation drawing symbol in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Align">
      <summary>
   Aligns one or more elements with a selected element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RoomTag">
      <summary>
   Tags the selected room.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FilledRegion">
      <summary>
   Creates a 2D, view-specific graphic with a fill pattern and a boundary line.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FamilyTypes">
      <summary>
   Allows you to enter parameter values for existing family types, add parameters to the family, or create new types within the family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CurtainWallMullion">
      <summary>
   Creates a horizontal or vertical mullion on a curtain grid.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CurtainGrid">
      <summary>
   Creates a grid line in a curtain wall or curtain system.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Room">
      <summary>
   Creates a room bounded by model elements (such as walls, floors, and ceilings) and separation lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Options">
      <summary>
   Options.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DecalTypes">
      <summary>
   Creates a decal that you can use to place images on surfaces of a building model for rendering.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MaterialAssets">
      <summary>
   Modifies the assets that define a material.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DeactivateView">
      <summary>
   Deactivates the view, so you can no longer change the view from the sheet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Materials">
      <summary>
   Specifies the materials and associated properties to apply to elements in the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ActivateView">
      <summary>
   Enables you to modify the selected view without leaving the sheet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Opening">
      <summary>
   Creates an opening in a host, such as a wall or ceiling.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ViewRange">
      <summary>
   Controls the view range of a plan.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.VisibilityOrGraphics">
      <summary>
   Controls the visibility and graphic display of model elements, annotations, imported and linked elements, and workset elements in a view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Label">
      <summary>
   Creates a label for the annotation symbol.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Default3DView">
      <summary>
   Opens the default orthographic 3D view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FillPatterns">
      <summary>
   Creates or modifies drafting patterns and model patterns.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AutomaticCeiling">
      <summary>
   Creates a ceiling at a specified distance above the level in which it resides.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NewTitleBlock">
      <summary>
   Opens a template for creating a Title Block family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Text">
      <summary>
   Adds text annotations (notes) to the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceView">
      <summary>
   Adds a view to a sheet.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Copy">
      <summary>
   Copies selected elements and places them in the specified location in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Move">
      <summary>
   Moves selected elements to the specified location in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Array">
      <summary>
   Creates a linear or radial array of selected elements.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinePatterns">
      <summary>
   Creates or modifies line patterns.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TemporaryDimensions">
      <summary>
   Specifies the placement and component references for temporary dimensions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Filters">
      <summary>
   Creates a filter to modify the visibility and graphics of elements in views based on element parameters.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Control">
      <summary>
   Adds a flip arrow to the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReferencePlane">
      <summary>
   Creates a reference plane using drawing tools.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StairPath">
      <summary>
   Annotates the slope direction and walk line of a stair.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ModelLine">
      <summary>
   Creates a line that exists in 3D space and is visible in all views of a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PlaceAComponent">
      <summary>
   Places an element in the building model, based on a selected element type.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SolidExtrusion">
      <summary>
   Creates a 3D solid by extruding a 2D shape (profile).
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Unpin">
      <summary>
   Unlocks a model element so it can move.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Pin">
      <summary>
   Locks a model element in place.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NewConceptualMass">
      <summary>
   Opens a template for creating a conceptual massing model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LoadShapes">
      <summary>
   Loads a Revit family into the current file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PointCloud">
      <summary>
   Links a Point Cloud file (*.rcp or *.rcs) into the current project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinkCAD">
      <summary>
   Links a CAD file to the current Revit project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ImportCAD">
      <summary>
   Imports vector data from other CAD programs to the Revit project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.NewSheet">
      <summary>
   Creates a page for a document set.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ProjectBrowser">
      <summary>
   Displays the Project Browser.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Camera">
      <summary>
   Creates a 3D view from the perspective of a camera placed in the view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Section">
      <summary>
   Creates a section view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FloorPlan">
      <summary>
   Creates a floor plan view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StructuralPlan">
      <summary>
   Creates a structural plan view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ProjectUnits">
      <summary>
   Specifies the display format for units of measure.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Snaps">
      <summary>
   Specifies snap increments, and enables or disables snap points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AnalysisDisplayStyles">
      <summary>
   Specifies a presentation format for visualizing analysis results.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ObjectStyles">
      <summary>
   Specifies line weights, colors, and patterns, and materials for model objects, annotation objects, and imported objects.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LineWeights">
      <summary>
   Creates or modifies line weights.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MirrorPickAxis">
      <summary>
   Reverses the position of selected elements, using an existing line or edge as the mirror axis.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Rotate">
      <summary>
   Rotates selected elements around an axis.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RotateProjectNorth">
      <summary>
   Changes the relationship of all elements relative to Project North (the top of the drawing area) in plan views.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MirrorProject">
      <summary>
   Flips the position of a project around a selected axis.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ArchitecturalColumn">
      <summary>
   Adds architectural columns to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Stair">
      <summary>
   Adds a stair to the building model by creating common run, landing, and support components.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ArchitecturalFloor">
      <summary>
   Creates a floor for the current level of the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FramingElevation">
      <summary>
   Creates a framing elevation to show vertical bracing.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Level">
      <summary>
   Places a level in a view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpaceSeparator">
      <summary>
   Draws a space separation line to divide space.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpaceTag">
      <summary>
   Labels spaces in a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Space">
      <summary>
   Places analytical spaces to account for the entire volume within the model. This includes rooms, plenums and chases.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Delete">
      <summary>
   Removes selected elements from the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Window">
      <summary>
   Adds windows to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Door">
      <summary>
   Adds doors to the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ArchitecturalWall">
      <summary>
   Creates a non-structural wall in the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Grid">
      <summary>
   Places column grid lines in the building design.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SunSettings">
      <summary>
   Specifies the location of the sun in the sun path, solar studies, walkthroughs, and rendered images.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportImagesandAnimationsSolarStudy">
      <summary>
   Saves animations or image files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportImagesandAnimationsWalkthrough">
      <summary>
   Saves animations or image files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FamilyCategoryAndParameters">
      <summary>
   Assigns the properties of a predefined family category to the component you are creating.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReinforcementNumbers">
      <summary>
   Defines or edits numbering sequences by partition for rebar and fabric sheets.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StatusBarDesignOptions">
      <summary>
   Displays the active design option in the status bar.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.StatusBarWorksets">
      <summary>
   For a workshared project, displays the active workset and the number of Others' pending Editing Requests in the status bar.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TogglePropertiesPalette">
      <summary>
   Displays or hides a palette where you can view and edit instance properties.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.BottomChord">
      <summary>
   Draws the bottom chord of the truss family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TopChord">
      <summary>
   Draws the top chord of the truss family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Web">
      <summary>
   Draws the web elements between the chords.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.OpenBuildingComponent">
      <summary>
   Opens a building component Autodesk Exchange (ADSK) file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.KeynotingSettings">
      <summary>
   Specifies the location of the keynote table and the numbering method for keynotes.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.KeynoteLegend">
      <summary>
   Creates a list of the keynotes used in a project, and their definitions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AnalyticalConsistencyChecks">
      <summary>
   Verifies the analytical and physical model for consistency.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CheckMemberSupports">
      <summary>
   Verifies that structural elements such as beams, columns, walls, and slabs, are joined to supporting elements.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportExportTypes">
      <summary>
   Exports family types from the current family to a text (.txt) file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ImportTypes">
      <summary>
   Imports family types from a text (.txt) file into the current family.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DWFMarkup">
      <summary>
   Links marked-up DWF files into a Revit project so you can see the markups on corresponding sheets.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.MaterialTakeoff">
      <summary>
   Creates a list of the sub-components or materials of any Revit family category.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RelinquishAllMine">
      <summary>
   Releases ownership of worksets and borrowed elements that have not been changed.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportCADFormatsACIS_SAT">
      <summary>
   Creates DWG, DXF, DGN, or SAT files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportCADFormatsDGN">
      <summary>
   Creates DWG, DXF, DGN, or SAT files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportCADFormatsDXF">
      <summary>
   Creates DWG, DXF, DGN, or SAT files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportCADFormatsDWG">
      <summary>
   Creates DWG, DXF, DGN, or SAT files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportDWFOrDWFx">
      <summary>
   Creates DWF or DWFx files.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.TypeProperties">
      <summary>
   Displays properties for the family type to which the selected element belongs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportOptionsIFCOptions">
      <summary>
   Sets export options for CAD and IFC.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishSATToAutodeskBuzzsaw">
      <summary>
   Saves selected views and sheets as SAT files and posts them to a Autodesk Buzzsaw site.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ResetAnalyticalModel">
      <summary>
   Resets the analytical model alignment methods to Auto-detect.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishDGNToAutodeskBuzzsaw">
      <summary>
   Saves selected views and sheets as DGN files and posts them to a Autodesk Buzzsaw site.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishDXFToAutodeskBuzzsaw">
      <summary>
   Saves selected views and sheets as DXF files and posts them to a Autodesk Buzzsaw site.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishDWFToAutodeskBuzzsaw">
      <summary>
   Saves selected views and sheets as DWF files and posts them to a Autodesk Buzzsaw site.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.PublishDWGToAutodeskBuzzsaw">
      <summary>
   Saves selected views and sheets as DWG files and posts them to a Autodesk Buzzsaw site.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SystemBrowser">
      <summary>
   System.Windows.Controls.StackPanel
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportIFC">
      <summary>
   Saves an IFC file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpecifyCoordinatesAtPoint">
      <summary>
   Relocates a project and rotates the project to True North by specifying coordinates for North/South, East/West, and Elevation.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RunInterferenceCheck">
      <summary>
   Locates invalid intersections between elements in a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.HideCategory">
      <summary>
   Hides all elements that belong to a selected category in the current view.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.FloorByFaceFloor">
      <summary>
   Converts a mass floor into a floor of the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SectionTags">
      <summary>
   Specifies the shape of heads and tails for section tags.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ElevationTags">
      <summary>
   Defines properties for elevation tags.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.CalloutTags">
      <summary>
   Specifies the callout head for callout tags, and the radius of the callout bubble.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RevisionSchedule">
      <summary>
   Adds a revision schedule to a custom title block.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SheetIssuesOrRevisions">
      <summary>
   Specifies revision information for the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ExportReportsRoomOrAreaReport">
      <summary>
   Saves a schedule or Room/Area report.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ImportGBXML">
      <summary>
   Imports analysis data from a gbXML file.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.GrayInactiveWorksets">
      <summary>
   Displays elements in inactive worksets as gray to visually distinguish them from elements in active worksets.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DrawOnWorkPlane">
      <summary>
   Draws lines on the active work plane.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.DrawOnFace">
      <summary>
   Draws lines on existing surfaces.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SplitSurface">
      <summary>
   Splits a toposurface into 2 distinct surfaces, so that each can be edited independently.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ShowHistory">
      <summary>
   Displays a list of all the times a workshared file (the central model or a local copy of the central model) was saved and who saved it.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Render">
      <summary>
   Creates a photorealistic image of a building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ReloadLatest">
      <summary>
   Loads updates from the central model to your local copy of the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RadialDimensionTypes">
      <summary>
   Defines attributes for radial dimensions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RoofByExtrusion">
      <summary>
   Creates a roof by extruding a profile that you sketch.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RoofByFootprint">
      <summary>
   Creates a roof using the building footprint to define its boundaries.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotCoordinate">
      <summary>
   Displays the North/South and East/West coordinates of points in a project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SpotElevation">
      <summary>
   Displays the elevation of a selected point.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.SplitElement">
      <summary>
   Cuts an element (such as a wall or line) at a selected point, or removes a segment between 2 points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.AngularDimensionTypes">
      <summary>
   Defines attributes for angular dimensions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.LinearDimensionTypes">
      <summary>
   Defines attributes for linear (horizontal and vertical) dimensions.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.ViewList">
      <summary>
   Creates a schedule of the views in the project.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RepeatComponent">
      <summary>
   Repeats the selected applied component along a divide path or surface.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.Soffit">
      <summary>
   Creates a roof soffit in the building model.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.PostableCommand.RoofByFace">
      <summary>
   Creates a roof using a non-vertical face of a mass.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Selection.PickedBox.Max">
      <summary>Maximum coordinates (upper-right-front corner of the pick box).</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Selection.PickedBox.Min">
      <summary>Minimum coordinates (lower-left-rear corner of the pick box).</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.PickedBox">
      <summary>A class that contains two XYZ points representing the pick box on the screen.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.PickBoxStyle">
      <summary> The enum that controls the style of the pick box. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.PickBoxStyle.Directional">
      <summary> The style of the box depends on the direction in which the box is being drawn. It uses the Crossing style if it is being drawn from right to left, or the Enclosing style when drawn in the opposite direction. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.PickBoxStyle.Enclosing">
      <summary> Draws the box with the style that is used when selecting objects that are completely enclosed by the box.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.PickBoxStyle.Crossing">
      <summary> Draws the box with the style that is used when selecting objects completely or partially inside the box. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.ObjectSnapTypes">
      <summary>This enumerated type contains object snap types allowed to be set during PickPoint operations.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Points">
      <summary> Snaps to site points. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Quadrants">
      <summary> Snaps to quadrant points. For arcs, jump snaps are enabled. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Tangents">
      <summary> Snaps tangent to an arc. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Perpendicular">
      <summary> Snaps to perpendicular elements or components. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Centers">
      <summary> Snaps to the center of an arc. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Intersections">
      <summary> Snaps to intersections. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.WorkPlaneGrid">
      <summary> Snaps to a work plane grid. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Nearest">
      <summary> Snaps to the nearest element or component. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Midpoints">
      <summary> Snaps to the midpoint of an element or component. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.Endpoints">
      <summary> Snaps to the endpoint of an element or component. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectSnapTypes.None">
      <summary> Snaps to nothing. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.ObjectType">
      <summary>This enumerated type contains object types allowed to be selected during selection operations.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.Subelement">
      <summary> Whole element or subelement. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.LinkedElement">
      <summary> Elements in linked RVT files. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.Face">
      <summary> Any face. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.Edge">
      <summary> Any model edge. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.PointOnElement">
      <summary> Any point on an element (on a face or curve). </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.Element">
      <summary> Whole element. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Selection.ObjectType.Nothing">
      <summary> Nothing. </summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.ISelectionFilter.AllowReference(Autodesk.Revit.DB.Reference,Autodesk.Revit.DB.XYZ)">
      <summary>Override this post-filter method to specify if a reference to a piece of geometry is permitted to be selected.</summary>
      <returns>Return true to allow the user to select this candidate reference. Return false to prevent selection of this candidate.</returns>
      <param name="reference">A candidate reference in selection operation.</param>
      <param name="position">The 3D position of the mouse on the candidate reference.</param>
      <remarks>If an exception is thrown from this method, the element will not be permitted to be selected.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.Selection.ISelectionFilter.AllowElement(Autodesk.Revit.DB.Element)">
      <summary>Override this pre-filter method to specify if the element should be permitted to be selected.</summary>
      <returns>Return true to allow the user to select this candidate element. Return false to prevent selection of this element.</returns>
      <param name="elem">A candidate element in selection operation.</param>
      <remarks>
        <para>If prompting the user to select an element from a Revit Link instance, the element passed here will be the link instance, not the selected linked element.
Access the linked element from Reference passed to the AllowReference() callback of ISelectionFilter.</para>
        <para>If an exception is thrown from this method, the element will not be permitted to be selected.</para>
      </remarks>
    </member>
    <member name="T:Autodesk.Revit.UI.Selection.ISelectionFilter">
      <summary>An interface that provides the ability to filter objects during a selection operation.</summary>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\AnalysisVisualization.cs" region="Autodesk.Revit.UI.Selection.ISelectionFilter" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\AnalysisVisualization.vb" region="Autodesk.Revit.UI.Selection.ISelectionFilter" />
      </example>
    </member>
    <member name="M:getShortFileName(AString!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced)">


 NOTE:  Do not add any more options to this Options class.
        Instead derive your own class from 'OptionsBundle'.
      

</member>
    <member name="M:Autodesk.Revit.UI.ToggleButtonData.#ctor(System.String,System.String)">
      <summary>Constructs a new instance of ToggleButtonData, where the ToggleButton will not be associated to an ExternalCommand.</summary>
      <param name="name">The internal name of the new button.</param>
      <param name="text">The user visible text seen on the new button. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ToggleButtonData.#ctor(System.String,System.String,System.String,System.String)">
      <summary>Constructs a new instance of ToggleButtonData, where the ToggleButton will execute an ExternalCommand when clicked.</summary>
      <param name="name">The internal name of the new button.</param>
      <param name="text">The user visible text seen on the new button. </param>
      <param name="assemblyName">The assembly path of the button.</param>
      <param name="className">The name of the class containing the implementation for the command. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ToggleButtonData">
      <summary>This class contains information necessary to construct a toggle button in a RadioButtonGroup.</summary>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ToggleButton">
      <summary>The ToggleButton object represents a button that has been added to a RadioButtonGroup.</summary>
      <remarks>Use of this class is not supported in Revit Macros.</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButtonData.AvailabilityClassName">
      <summary>The full class name for the class providing the entry point to decide availability of this push button. </summary>
      <remarks>This is the class implementing IExternalCommandAvailability interface. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButtonData.AssemblyName">
      <summary>The assembly path of the button.</summary>
      <remarks>The path of the assembly which contains the corresponding external command.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string.</exception>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButtonData.ClassName">
      <summary>The name of the class containing the implementation for the command. </summary>
      <remarks>The class name which implements the interface IExternalCommand. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.PushButtonData.#ctor(System.String,System.String,System.String,System.String)">
      <summary>Constructs a new instance of PushButtonData.</summary>
      <param name="name">The internal name of the new button.</param>
      <param name="text">The user visible text seen on the new button. </param>
      <param name="assemblyName">The assembly path of the button.</param>
      <param name="className">The name of the class containing the implementation for the command. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.PushButtonData">
      <summary>This class contains information necessary to construct a push button in the Ribbon.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.ButtonData.Image">
      <summary>The image of the button.</summary>
      <remarks>The image will be shown on the button if it is a part of a stacked set, or if it is promoted to the 
Quick Access Toolbar. The best size is 16 x 16 pixels; if larger, the image will NOT be adjusted to fit the 
toolbar button.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.ButtonData.LargeImage">
      <summary>The large image of the button.</summary>
      <remarks>The image will be shown on the button in the Ribbon panel if the button is not a part of a stacked set.  
It will also be shown on a push button added to a pulldown button. The best size is 32 x 32 pixels; if larger, 
the image will be adjusted to fit the button.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.ButtonData.Text">
      <summary>The user-visible text of the button.</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string, 
or when the value contains invalid characters.</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.ButtonData">
      <summary>Base class used to contain information necessary to construct a button in the Ribbon.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButton.isInPulldown">
      <summary>Indicates whether the PushButton is in the drop-down list of a PulldownButton.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButton.AvailabilityClassName">
      <summary>The full class name for the class providing the entry point to decide availability of this push button. </summary>
      <remarks>This is the class implementing IExternalCommandAvailability interface. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButton.ClassName">
      <summary>The name of the class containing the implementation for the command. </summary>
      <remarks>The class name which implements the interface IExternalCommand. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when setting the value to a ToggleButton which is not initialized with an external command.</exception>
    </member>
    <member name="P:Autodesk.Revit.UI.PushButton.AssemblyName">
      <summary>The assembly path of the button.</summary>
      <remarks>The path of the assembly which contains the corresponding external command.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when setting the value to a ToggleButton which is not initialized with an external command.</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.PushButton">
      <summary>The PushButton object represents an button on a RibbonPanel. </summary>
      <remarks>Use of this class is not supported in Revit Macros.</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\RibbonPanel.cs" region="Autodesk.Revit.UI.PushButton" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\RibbonPanel.vb" region="Autodesk.Revit.UI.PushButton" />
      </example>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonButton.IsEnabledByContext">
      <summary>Indicates if this button can be executed. True if the pushbutton is permitted to be executed based on the 
current Revit context (active document, active view and active tool). False if the pushbutton is disabled because 
of the active context.</summary>
      <remarks>The button may be enabled for a given context but still disabled programmatically using the Enabled property
for the button.
</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonButton.Image">
      <summary>The image of the button.</summary>
      <remarks>The image will be shown on the button if it is a part of a stacked set or if it is promoted to the 
Quick Access Toolbar. The image should be 16 x 16 pixels. If the image is larger it will NOT be adjusted to fit the 
button.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonButton.LargeImage">
      <summary>The large image shown on the button.</summary>
      <remarks>The image will be shown on the button in the Ribbon panel if the button is not a part of a stacked set.  
It will also be shown if the button is added to a pulldown button. The image should be 32 x 32 pixels. If the image is larger
it will be adjusted to fit the button.</remarks>
    </member>
    <member name="T:Autodesk.Revit.UI.RibbonButton">
      <summary>This class is the base class of PushButton and PulldownButton. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.AvailabilityCommands">
      <summary> Store all the ObjectHandlers to the availability command. </summary>
      <remarks> In order to enhance the performance, we just create ObjectHandler for each availability command only once. </remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalCommandAvailability.IsCommandAvailable(Autodesk.Revit.UI.UIApplication,Autodesk.Revit.DB.CategorySet)">
      <summary> Implement this method to provide control over whether your external command is enabled or disabled. </summary>
      <returns> Indicates whether Revit should enable or disable the corresponding external command. </returns>
      <remarks>
This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback
must be fast and is not permitted to modify the active document and be blocking in any way.
</remarks>
      <param name="applicationData"> An ApplicationServices.Application object which contains reference to Application
needed by external command. </param>
      <param name="selectedCategories"> An list of categories of the elements which have been selected in Revit in the active document, 
or an empty set if no elements are selected or there is no active document. </param>
    </member>
    <member name="T:Autodesk.Revit.UI.IExternalCommandAvailability">
      <summary>An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command.</summary>
      <remarks>This interface should share the same assembly with add-in External Command.</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\IExternalCommand.cs" region="Autodesk.Revit.UI.IExternalCommandAvailability" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\IExternalCommand.vb" region="Autodesk.Revit.UI.IExternalCommandAvailability" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalCommand.Execute(Autodesk.Revit.UI.ExternalCommandData,System.String@,Autodesk.Revit.DB.ElementSet)">
      <summary>Overload this method to implement and external command within Revit.</summary>
      <returns> The result indicates if the execution fails, succeeds, or was canceled by user. If it does not
succeed, Revit will undo any changes made by the external command. </returns>
      <param name="commandData"> An ExternalCommandData object which contains reference to Application and View
needed by external command.</param>
      <param name="message"> Error message can be returned by external command. This will be displayed only if the command status
was "Failed".  There is a limit of 1023 characters for this message; strings longer than this will be truncated.</param>
      <param name="elements"> Element set indicating problem elements to display in the failure dialog.  This will be used
only if the command status was "Failed".</param>
    </member>
    <member name="T:Autodesk.Revit.UI.IExternalCommand">
      <summary>An interface that should be implemented to provide the implementation for a Revit add-in External Command.</summary>
      <remarks>To add an external command to Autodesk Revit the developer should implement an object
that supports the IExternalCommand interface.</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\IExternalCommand.cs" region="Autodesk.Revit.UI.IExternalCommand" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\IExternalCommand.vb" region="Autodesk.Revit.UI.IExternalCommand" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalApplication.OnShutdown(Autodesk.Revit.UI.UIControlledApplication)">
      <summary>Implement this method to execute some tasks when Autodesk Revit shuts down.</summary>
      <param name="application">A handle to the application being shut down.</param>
      <returns>Indicates if the external application completes its work successfully.</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalApplication.OnStartup(Autodesk.Revit.UI.UIControlledApplication)">
      <summary>Implement this method to execute some tasks when Autodesk Revit starts.</summary>
      <param name="application">A handle to the application being started.</param>
      <returns>Indicates if the external application completes its work successfully.</returns>
    </member>
    <member name="T:Autodesk.Revit.UI.IExternalApplication">
      <summary>An interface that supports addition of external applications to Revit.</summary>
      <remarks>External applications are permitted to customize the Revit UI, and to add events 
and updaters to the session.</remarks>
    </member>
    <member name="T:Autodesk.Revit.UI.Result">
      <summary>Informs Autodesk Revit of the status of your application after execution.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Result.Cancelled">
      <summary>Signifies that the external application is cancelled.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Result.Succeeded">
      <summary>The external application completed successfully. Autodesk Revit will keep this object
during the entire Revit session.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Result.Failed">
      <summary>The external application was unable to complete its task.</summary>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.TransferringProjectStandards">
      <summary>
Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized.
</summary>
      <remarks>
        <para>This event allows an external application to add additional items to the possible list of items to be transferred.
These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer.
During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable.
</para>
      </remarks>
      <since>2017.2</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.FabricationPartBrowserChanged">
      <summary>
Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated.
</summary>
      <since>2017</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DockableFrameFocusChanged">
      <summary>
Subscribe to GenericDockableFrame activated event to be notified when Revit GenericDockableFrame is active or inactive.
</summary>
      <since>2015</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DockableFrameVisibilityChanged">
      <summary>
Subscribe to GenericDockableFrame showing or hiding event to be notified when Revit GenericDockableFrame is showing or hiding.
</summary>
      <since>2015</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DisplayingOptionsDialog">
      <summary>
Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying.
</summary>
      <since>2013</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.Idling">
      <summary>
Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction.
</summary>
      <remarks>
        <para>This event is raised when it is safe for the API application to access the active 
 document between user interactions. The event is raised only when the Revit UI is 
 in a state where the user could successfully click on an API command button.</para>
        <para>
Handlers of this event are permitted to make modifications to any document (including the active document),
except for documents that are currently in read-only mode.
</para>
        <para>In order to change a document, you must begin a new transaction for that document.  
 This transaction will appear in the Revit undo stack and may be undone by the Revit user.</para>
        <para>This event is invoked between user actions in the Revit UI. If the handler for 
 this event requires a significant amount of processing time, users will perceive a slowdown 
 in the responsiveness of Revit. If the execution for updates can be safely split across 
 multiple calls to this event, the user perception of Revit responsiveness will be improved. </para>
        <para> There are two ways to use this event.  In the default mode, a single raise of the event
will be made each time Revit begins an idle session.  Note that when the user is active in the Revit 
user interface, idle sessions begin whenever the mouse stops moving for a moment or when a
command completes.  However, if the user is not active in the user interface at all, Revit may not invoke
additional idling sessions for quite some time; this means that your application may not be able to take advantage 
of time when the user leaves the machine completely for a period of time.  </para>
        <para> In the non-default mode, your application forces Revit to keep the idling session open and to make 
repeated calls to your event subscriber.  In this mode even if the user is totally inactive the Revit
session will continue to make Idling calls to your application.  However, this can result in performance
degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling 
events during the Revit application's downtime.</para>
        <para> You can indicate the preference for the non-default Idling frequency by calling 
<see cref="M:Autodesk.Revit.UI.Events.IdlingEventArgs.SetRaiseWithoutDelay" />
each time the Idling event callback is made.  Revit will revert to the default Idling frequency
if this method is not called every time in your callback.</para>
        <para>Event is not cancellable. </para>
      </remarks>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DialogBoxShowing">
      <summary>   
Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to show a dialog box or a message box.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>Depending on the type of the dialog that is being shown, the event's argument's type varies as follows:
When it is a dialog box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs" />.
When it is a message box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.
When it is a task dialog, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.</para>
        <para>No document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
<ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ApplicationClosing">
      <summary>
Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed.  
</summary>
      <remarks>
        <para>This event is raised when the Revit application is just about to be closed.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The sender object of this event is <see cref="T:Autodesk.Revit.UI.UIControlledApplication" /> object.</para>
      </remarks>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ViewActivated">
      <summary>
Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document.
</summary>
      <remarks>
        <para>This event is raised immediately after Revit has finished activating a view of the document.
It is raised even when view activating failed or was cancelled (during ViewActivating event).</para>
        <para>Check the 'Status' field in event's argument to see whether the action itself was successful or not.</para>
        <para>This event is not cancellable, for the process of view activating has already been finished.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
<ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ViewActivating">
      <summary>
Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document. 
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to activate a view of the document.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.
Your application is responsible for providing feedback to the user about the reason for the cancellation.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
<ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
        <para>Another <see cref="E:Autodesk.Revit.UI.UIApplication.ViewActivated" /> event will be raised immediately after view activating 
is finished.</para>
      </remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.IsLateAddinLoading">
      <summary> Indicates whether this add-in is loaded on the fly or not. If it is loaded when Revit is starting up, it
is false, otherwise it should be true.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.ControlledApplication">
      <summary>Returns the database level ControlledApplication represented by this UI-level ControlledApplication.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.UIControlledApplication">
      <summary>Represents the Autodesk Revit user interface, providing access to
UI customization methods and events.</summary>
      <remarks>This class does not provide access to documents because it is provided to you through the ExternalApplication
OnStartup()/OnShutdown() methods, and those methods are when it is not possible to work with Revit documents.  
You can work with documents by getting them from the UIApplication class; that class is obtained from events and 
ExternalCommand callbacks.</remarks>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.TransferredProjectStandards">
      <summary>
   Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized.
</summary>
      <remarks>
        <para>This event is raised just after the native Revit items have been transferred, but before the transaction has been committed.
   An add-in that registered external items in <see cref="E:Autodesk.Revit.UI.UIApplication.TransferringProjectStandards" /> should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer.
   During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.TransferringProjectStandards">
      <summary>
   Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog.
</summary>
      <remarks>
        <para>This event allows an external application to add additional items to the possible list of items to be transferred.
   These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer.
   During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.FabricationPartBrowserChanged">
      <summary>
   Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated.
</summary>
      <remarks>
        <para>More docs about the different conditions goes here</para>
      </remarks>
      <since>
   2017
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.DockableFrameFocusChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be active or inactive.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.DockableFrameVisibilityChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be shown or hidden.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.DisplayingOptionsDialog">
      <summary>
   Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.ApplicationClosing">
      <summary>
   Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed.
</summary>
      <remarks>
        <para>This event is raised when the Revit application is just about to be closed.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The sender object of this event is <see cref="T:Autodesk.Revit.UI.UIControlledApplication" /> object.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.Idling">
      <summary>
   Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction.
</summary>
      <remarks>
        <para>This event is raised when it is safe for the API application to access the active
   document between user interactions. The event is raised only when the Revit UI is
   in a state where the user could successfully click on an API command button.</para>
        <para>
   Handlers of this event are permitted to make modifications to any document (including the active document),
   except for documents that are currently in read-only mode.
   </para>
        <para>In order to change a document, you must begin a new transaction for that document.
   This transaction will appear in the Revit undo stack and may be undone by the Revit user.</para>
        <para>This event is invoked between user actions in the Revit UI. If the handler for
   this event requires a significant amount of processing time, users will perceive a slowdown
   in the responsiveness of Revit. If the execution for updates can be safely split across
   multiple calls to this event, the user perception of Revit responsiveness will be improved. </para>
        <para> There are two ways to use this event.  In the default mode, a single raise of the event
   will be made each time Revit begins an idle session.  Note that when the user is active in the Revit
   user interface, idle sessions begin whenever the mouse stops moving for a moment or when a
   command completes.  However, if the user is not active in the user interface at all, Revit may not invoke
   additional idling sessions for quite some time; this means that your application may not be able to take advantage
   of time when the user leaves the machine completely for a period of time.  </para>
        <para> In the non-default mode, your application forces Revit to keep the idling session open and to make
   repeated calls to your event subscriber.  In this mode even if the user is totally inactive the Revit
   session will continue to make Idling calls to your application.  However, this can result in performance
   degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling
   events during the Revit application's downtime.</para>
        <para> You can indicate the preference for the non-default Idling frequency by calling
   <see cref="M:Autodesk.Revit.UI.Events.IdlingEventArgs.SetRaiseWithoutDelay" />
   each time the Idling event callback is made.  Revit will revert to the default Idling frequency
   if this method is not called every time in your callback.</para>
        <para>Event is not cancellable. </para>
      </remarks>
      <since>
   2010
</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit_Events\Events.cs" region="Autodesk.Revit.UI.UIApplication.Idling" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit_Events\Events.vb" region="Autodesk.Revit.UI.UIApplication.Idling" />
      </example>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.DialogBoxShowing">
      <summary>
   Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to show a dialog box or a message box.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>Depending on the type of the dialog that is being shown, the event's argument's type varies as follows:
   When it is a dialog box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs" />.
   When it is a message box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.
   When it is a task dialog, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.</para>
        <para>No document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit_Events\DialogBoxShowing.cs" region="Autodesk.Revit.UI.UIApplication.DialogBoxShowing" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit_Events\DialogBoxShowing.vb" region="Autodesk.Revit.UI.UIApplication.DialogBoxShowing" />
      </example>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.ViewActivated">
      <summary>
   Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document.
</summary>
      <remarks>
        <para>This event is raised immediately after Revit has finished activating a view of the document.
   It is raised even when view activating failed or was cancelled (during ViewActivating event).</para>
        <para>Check the 'Status' field in event's argument to see whether the action itself was successful or not.</para>
        <para>This event is not cancellable, for the process of view activating has already been finished.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIApplication.ViewActivating">
      <summary>
   Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to activate a view of the document.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.
   Your application is responsible for providing feedback to the user about the reason for the cancellation.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above
   methods is called during this event.</para>
        <para>Another <see cref="E:Autodesk.Revit.UI.UIApplication.ViewActivated" /> event will be raised immediately after view
   activating is finished.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.Application">
      <summary>
   Returns the database level Application represented by this UI level Application.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.RegisterDockablePane(Autodesk.Revit.UI.DockablePaneId,System.String,Autodesk.Revit.UI.IDockablePaneProvider)">
      <summary>Adds a new dockable pane to the Revit user interface.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <param name="title">String to use for the pane caption.</param>
      <param name="provider">Your add-in's implementation of the IDockablePaneProvider interface.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if a dockable pane with identifier %id% has already been registered.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if DockPosition is Floating but no FloatingRectangle has been provided, or the FloatingRectangle is not larger than 3x3.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.GetDockablePane(Autodesk.Revit.UI.DockablePaneId)">
      <summary>Gets a DockablePane object by its ID.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if no dockable pane has been registered with identifier %id%.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the dockable pane with identifier %id% has not been created yet.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.LoadPackageContents(System.String)">
      <summary>Loads add-ins from the given packageContents.xml file. </summary>
      <param name="packageContentsPath">The name of package contents file</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
packageContentsPath doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the add-in file path specified by 
packageContentsPath is null, Or packageContentsPath is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the add-in specified by packageContentsPath doesn't
end with 'addin' or packageContentsPath is a zero-length string.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileNotFoundException">Thrown if the packageContentsPath is not found.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file specified by packageContentsPath 
can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InternalException">Thrown if packageContentsPath file that was found could not 
be loaded.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.LoadAddIn(System.String)">
      <summary>Loads add-ins from the given manifest file. </summary>
      <remarks>
        <p>This method loads the add-ins listed in the provided add-in manifest file.  
The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.   </p>
        <p>Some add-ins may have settings in which they decline the ability for Revit to load the external application declared 
in the .addin in mid-session.  
This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag
isn't present, the default is set to "Yes". </p>
        <p> Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected 
because of the different interactions with the session.  Specifically:
<list type="bullet"><item>If the application's goal is to prevent something from happening, the application may not be able to handle
the fact that this activity has already happened in the existing session.</item><item> If the application's goal is to manage external information in synch with documents loaded in the session, 
the application may not be able to handle documents that were loaded before the application started.</item></list><item> If the application's logic depends on the ApplicationInitialized event, this event has already been called 
before the add-in was loaded.</item></p>
        <p>Also, some add-ins may not be able to fully initialize when loading in the middle of the session.  This is because some
activities must take place at the start of the Revit session:
<list type="bullet"><item>Creation of custom failure definitions</item><item>Establishment of a system-wide IFailureProcessor to handle all failures.</item><item>Registering ExternalServices.</item></list></p>
      </remarks>
      <param name="fileName">The name of the add-in manifest file including the extension is to identify the 
manifest file which contains Revit add-ins.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
fileName doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the fileName is null or empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the fileName doesn't end with 'addin'.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.RemoveAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Removes an AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to remove the binding. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command is not bound with this add-in.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CreateAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Creates a new AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.ActiveAddInId">
      <summary> Get current active external application or external command id. </summary>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.LoadedApplications">
      <summary> Returns an array of successfully loaded external applications. </summary>
      <remarks> This property can be used by your application to find all successfully
loaded external applications when Revit starts.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.GetRibbonPanels(System.String)">
      <summary> Get all the custom Panels on a designated Revit tab.</summary>
      <param name="tabName">The name of the tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. tabName must be the name of one of the tabs added 
by <see cref="M:Autodesk.Revit.UI.UIApplication.CreateRibbonTab(System.String)" />. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.GetRibbonPanels(Autodesk.Revit.UI.Tab)">
      <summary> Get all the custom Panels on a designated standard Revit tab.</summary>
      <param name="tab">The tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.GetRibbonPanels">
      <summary> Get all the custom Panels on Add-Ins tab of Revit.</summary>
      <remarks> The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CreateRibbonPanel(Autodesk.Revit.UI.Tab,System.String)">
      <summary> Create a new RibbonPanel on the designated standard Revit tab. </summary>
      <param name="tab">The target tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty or the tab is not valid.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created or the tab cannot be found. </exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CreateRibbonPanel(System.String)">
      <summary> Create a new RibbonPanel on the Add-Ins tab. </summary>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created. </exception>
      <remarks> This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. </remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\CreateRibbonPanel.cs" region="Autodesk.Revit.UI.UIApplication.CreateRibbonPanel(string)" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\CreateRibbonPanel.vb" region="Autodesk.Revit.UI.UIApplication.CreateRibbonPanel(string)" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CreateRibbonPanel(System.String,System.String)">
      <summary> Create a new RibbonPanel on the specified tab. </summary>
      <param name="tabName">The name of the tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many panels have been added to this tab (Maximum is 100).</exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros. </remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CreateRibbonTab(System.String)">
This fils contails the Ribbons related methods which may need to be overrideed in subclasses.
<summary> Creates a new tab on the Revit user interface. </summary><param name="tabName">The name of the tab to be created.</param><exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception><exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.</exception><exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many custom tabs have been created in this session. (Maximum is 20).</exception><remarks> This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. </remarks></member>
    <member name="M:Autodesk.Revit.UI.UIApplication.PostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Posts the command to the Revit message queue to be invoked when control returns from the current API context. </summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the command cannot be posted. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   If there is a command already been posted.
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.CanPostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Identifies if the given command can be posted, using <see cref="M:Autodesk.Revit.UI.UIApplication.PostCommand(Autodesk.Revit.UI.RevitCommandId)" />.</summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <remarks> Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. </remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.DoDragDrop(System.Object,Autodesk.Revit.UI.IDropHandler)">
      <summary>Initiates a drag and drop operation with a custom drop implementation.</summary>
      <param name="dropData">Any arbitrary data to be passed to the drop handler when the drop occurs.</param>
      <param name="handler">The handler to be executed when the drop occurs. </param>
      <remarks> When the user inputs <see cref="T:Autodesk.Revit.UI.IControllableDropHandler">IControllableDropHandler</see>,
it allows the handler to verify whether the drop event can be executed on the given view; 
When the user inputs <see cref="T:Autodesk.Revit.UI.IDropHandler">IDropHandler</see>
the handler will be executed without any condition.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData or handler is <see langword="null" />.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.DoDragDrop(System.Collections.Generic.ICollection{System.String})">
      <summary>Initiates a drag and drop operation of a collection of file names on the Revit user interface.</summary>
      <remarks>The behavior after the 'dragData' dragged onto Revit is listed bellow:
<list type="bullet"><item> Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; </item><item> More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; </item><item> Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family;</item><item> More than one family files dragged onto Revit: all the families will be loaded;</item><item> More than one family files including other format files dragged onto Revit: Revit will try to open all the files;</item><item> If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception).</item></list></remarks>
      <param name="dropData">The list of file paths and names.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when dropData contains a file that doens't exist.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.OpenAndActivateDocument(Autodesk.Revit.DB.ModelPath,Autodesk.Revit.DB.OpenOptions,System.Boolean)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="modelPath">
   A path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <param name="openOptions">Options for opening the file.</param>
      <param name="bDetachAndPrompt">True means if openOptions specifies DoNotDetach,
   then for workshared models detach from central and query the user whether to preserve or discard worksets. 
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'modelPath'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'openOptions'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the modelPath is not a <see cref="T:Autodesk.Revit.DB.FilePath" /></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerCommunicationException">If there is any network communication error.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.CentralModelContentionException"> If the model is being accessed by other users.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerInternalException">If there is any server internal error.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.OpenAndActivateDocument(System.String)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="fileName">
   A full path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'fileName'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'fileName' cannot be found.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The given 'fileName' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <since>
   2012
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.DrawingAreaExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of drawing area. </summary>
      <remarks>The drawing area of the Revit window displays views (and sheets and schedules) of the current project. 
The size of drawing area restricts the max size of the view windows.
If there is no project opened, null will be returned. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.MainWindowExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of Revit main window. </summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIApplication.ActiveUIDocument">
      <summary>Provides access to an object that represents the currently active project.</summary>
      <remarks>External API commands can access this property in read-only mode only!
The ability to modify the property is reserved for future implementations.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when attempting to modify the property.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.#ctor(Autodesk.Revit.ApplicationServices.Application)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.UIApplication">
      <summary>
   Represents an active session of the Autodesk Revit user interface, providing access to
   UI customization methods, events, and the active document.
</summary>
      <remarks>
   You can access documents from the database level Application object, obtained from
   the Application property.  If you have an instance of the database level Application object,
   you can construct a UIApplication from it.
</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.IDockablePaneProvider.SetupDockablePane(Autodesk.Revit.UI.DockablePaneProviderData)">
      <summary>
   Method called during initialization of the user interface to gather information about a dockable pane window.
</summary>
      <param name="data">
   Container for information about the new dockable pane.  Implementers should set the 
   FrameworkElement and InitialState Properties. Optionally, providers can set the 
   ContextualHelp property if they wish to provide or react to help requests on the pane,
   or override the default EditorInteraction property by setting it here. 
</param>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.IDockablePaneProvider">
      <summary>
   Interface that the Revit UI will call during initialization of the user interface to gather information about add-in dockable pane windows.
</summary>
      <since>
   2014
</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\EmbedWebBrowser.cs" region="Autodesk.Revit.UI.IDockablePaneProvider" />
      </example>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.VisibleByDefault">
      <summary>
   Controls the default visibility of the pane upon the first time
   the pane/plugin is loaded into Revit. 
</summary>
      <remarks> 
   By default, panes will be created and shown in the Revit UI when
   Revit is launched for the first time. Subsequent loads of the Revit
   UI will determine the visibility of the panes based upon there state
   at the close of the previous Revit session. Providers can set this
   to false if they wish there panes to NOT be shown by default.
</remarks>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.EditorInteraction">
      <summary>
   Defines the interaction this pane has with the Active Editor when the pane becomes active. 
</summary>
      <remarks>
   Set to KeepAlive to keep the current editor active and
   keep active the current selection or Dismiss to dismiss
   the Editor and clear the active selection.
   Default is to KeepAlive the current editor.
</remarks>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.ContextualHelp">
      <summary>
   The contextual help associated with the pane. 
</summary>
      <remarks> 
   If set, the contents of this Contextual Help will be used to respond to a user request for help
  (typically this is as a result of pressing F1 while the dockable pane has focus).
</remarks>
      <since>
   2016
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.InitialState">
      <summary>
   The initial position of the docking pane.
</summary>
      <remarks> 
   This position will be used for the first Revit session in which the pane is registered; afterwards, the user is free 
   to reposition the pane, and the user's saved position will be remembered in future sessions.
</remarks>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.FrameworkElementCreator">
      <summary>
   A creator that will be called for the pane if the FrameworkElement is not set. 
</summary>
      <remarks> 
   This is more dynamic in nature and allows for embedding things like
   WebBrowser controls that cannot be cached for reuse in each pane invocation
   but rather needs creating each time. 
</remarks>
      <since>
   2018
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneProviderData.FrameworkElement">
      <summary>
   The Windows Presentation Framework object containing the pane's user interface.
</summary>
      <remarks> 
   Using a System.Windows.Controls.Page is recommended. This can be null, in which case
   it is assumed an IFrameworkElementCreator is provided to create the element on demand.
</remarks>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePaneProviderData">
      <summary>
   Information about a new dockable pane being added to the Revit user interface.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.EditorInteraction.InteractionType">
      <summary>
   The type of interaction. 
</summary>
      <remarks>
   This property is overridable to allow for clients to
   dynamically return the type. For example, if your pane
   interacts with certain editors or has different "modes"
   based on user workflow.
</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.EditorInteraction.#ctor(Autodesk.Revit.UI.EditorInteractionType)">
      <summary>
   Construct the interaction with the specified type.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.EditorInteraction.#ctor">
      <summary>
  Construct a default interaction.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.EditorInteraction">
      <summary>
   Wraps the EditorInteractionType for the Pane to allow
   for clients to override their type dynamically if need
   be.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IFrameworkElementCreator.CreateFrameworkElement">
      <summary>
   Method called to create the FrameworkElement.
</summary>
      <since>
   2018
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.IFrameworkElementCreator">
      <summary>
   Interface that the Revit UI will call, if present, to construct the FrameworkElement
   for the pane.
</summary>
      <since>
   2018
</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\EmbedWebBrowser.cs" region="Autodesk.Revit.UI.IFrameworkElementCreator" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.PaneExists(Autodesk.Revit.UI.DockablePaneId)">
      <summary>
   Returns true if %id% refers to a dockable pane window that currently exists in the Revit user interface, whether it's hidden or shown.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.PaneIsRegistered(Autodesk.Revit.UI.DockablePaneId)">
      <summary>
   Returns true if %id% refers to a built-in Revit dockable pane, or an add-in pane that has been properly registered with %Autodesk.Revit.UI.UIApplication.RegisterDockablePane%.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.PaneIsBuiltIn(Autodesk.Revit.UI.DockablePaneId)">
      <summary>
   Returns true if %id% refers to a built-in Revit dockable pane, rather than one created by an add-in.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.IsShown">
      <summary>
   Identify the pane is currently visible or in a tab.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.Hide">
      <summary>
   If the pane is on screen, hide it.  Has no effect on built-in Revit dockable panes.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.Show">
      <summary>
   If the pane is not currently visible or in a tab, display the pane in the Revit user interface at its last docked location.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.GetTitle">
      <summary>
   Returns the current title (a.k.a. window caption) of the dockable pane.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePane.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePane.Id">
      <summary>
   The unique identifier for this dockable pane.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.#ctor(Autodesk.Revit.UI.DockablePane)">
      <summary>
   Constructs a new copy of the input DockablePane object.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePane.#ctor(Autodesk.Revit.UI.DockablePaneId)">
      <summary>
   Gets the pane with identifier %id%.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   no dockable pane has been registered with identifier id.
   -or-
   the dockable pane with identifier id has not been created yet.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePane">
      <summary>
   A user interface pane that participates in Revit's docking window system.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneState.SetFloatingRectangle(Autodesk.Revit.DB.Rectangle)">
      <summary>
   When %dockPosition% is Floating, sets the rectangle used to determine the size and position of the pane when %dockPosition% is Floating.  Coordinates are relative to the upper-left-hand corner of the main Revit window.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   Rectangle is not normalized.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneState.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneState.TabBehind">
      <summary>
   Ignored unless %dockPosition% is Tabbed.  The new pane will appear in a tab behind the specified existing pane ID.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   When setting this property: no dockable pane has been registered with identifier tabBehind.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting this property: A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneState.FloatingRectangle">
      <summary>
   When %dockPosition% is Floating, this rectangle determines the size and position of the pane.  Coordinates are relative to the upper-left-hand corner of the main Revit window.
   Note: the returned Rectangle is a copy. In order to change the pane state, you must call SetFloatingRectangle with a modified rectangle.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.DockablePaneState.DockPosition">
      <summary>
   Which part of the Revit application frame the pane should dock to.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentOutOfRangeException">
   When setting this property: A value passed for an enumeration argument is not a member of that enumeration
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneState.#ctor(Autodesk.Revit.UI.DockablePaneState)">
      <summary>
   Constructs a new copy of the input DockablePaneState object.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.DockablePaneState.#ctor">
      <summary>
   Creates a new DockablePaneState object.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DockablePaneState">
      <summary>
   Describes where a dockable pane window should appear in the Revit user interface.
</summary>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.DockPosition">
      <summary>
   Which part of the Revit application frame the pane should dock to.
</summary>
      <since>
   2014
</since>
      <since>
   2014
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.EditorInteractionType">
      <summary>
   Defines the type of interactions a pane has with the active editor when it becomes active in the Revit UI.
</summary>
      <since>
   2017
</since>
      <since>
   2017
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.EditorInteractionType.KeepAlive">
      <summary>
   Keeps the active editor alive during pane activation.
   This results in the current selection being kept active and available to the pane.

   One example built-in dockable pane that uses this mode is the Revit Property Palette.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.EditorInteractionType.Dismiss">
      <summary>
   Dismiss the active editor during pane activation.
   This results in the current selection being cleared and the editor canceled.

   One example built-in dockable pane that uses this mode is the Revit Project Browser.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.UpdateAllOpenViews">
      <summary>
   Update all open views in this document after elements have been changed, deleted, selected or de-selected.
   Graphics in the views are fully redrawn regardless of which elements have changed.
</summary>
      <remarks>
   This function should only rarely be needed, but might be required when working with graphics drawn from outside of Revit's transactions and elements,
   for example, when using <see cref="T:Autodesk.Revit.DB.DirectContext3D.IDirectContext3DServer" />.

   This function is potentially expensive as many views may be updated at once, including regeneration of view's geometry and redisplay of graphics.
   Thus for most situations it is recommended that API applications rely on the Revit application framework to update views more deliberately.
</remarks>
      <since>
   2018
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.GetPlacementTypes(Autodesk.Revit.DB.FamilySymbol,Autodesk.Revit.DB.View)">
      <summary>
   Get a collection of valid placement types for input family symbol.
</summary>
      <param name="familySymbol">
   The family symbol.
</param>
      <param name="pDBView">
   The view in which the family instance will be placed in.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.SaveAs(Autodesk.Revit.UI.UISaveAsOptions)">
      <summary>
   Saves the document to a file name obtained from the Revit user optionally prompting the user to overwrite file if it exists.
</summary>
      <remarks>
        <para>This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. </para>
   That also implies that this method cannot be called during dynamic updates.
</remarks>
      <param name="options">
   UI options for the SaveAs operation.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">
   SaveAs may not be called during dynamic update.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   Is not a primary document, it is a linked document.
   -or-
   SaveAs is temporarily disabled.
   -or-
   Thrown if there are any transactions, sub-transactions or transaction groups which
   were opened by the API code, and not closed. All of these items must be handled
   before attempting to save the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">
   Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event.
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.SaveAs">
      <summary>
   Saves the document to a file name obtained from the Revit user without prompting the user to overwrite file if it exists.
</summary>
      <remarks>
        <para>This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed.</para>
   That also implies that this method cannot be called during dynamic updates.
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">
   SaveAs may not be called during dynamic update.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   Is not a primary document, it is a linked document.
   -or-
   SaveAs is temporarily disabled.
   -or-
   Thrown if there are any transactions, sub-transactions or transaction groups which
   were opened by the API code, and not closed. All of these items must be handled
   before attempting to save the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">
   Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event.
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.CanPlaceElementType(Autodesk.Revit.DB.ElementType)">
      <summary>
   Verifies that the user can be prompted to place the input element type on the current active view.
</summary>
      <param name="elementType">
   The ElementType.
</param>
      <returns>
   True if the user can be prompted to place the input element type on the active view, false otherwise.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PromptToMatchElementType(Autodesk.Revit.DB.ElementType)">
      <summary>
   Prompts the user to select elements to change them to the input type.
</summary>
      <remarks>
   This method uses its own transaction, so it's not permitted to be invoked in an active transaction.
   In a single invocation, the user can select multiple elements to be modified to the given type, until they finish.
</remarks>
      <param name="elementType">
   The ElementType applied to selected instances.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PromptToPlaceElementTypeOnLegendView(Autodesk.Revit.DB.ElementType)">
      <summary>
   Prompts the user to place an element type onto a legend view.
</summary>
      <remarks>
   This method works only for non-annotation element types.
   For annotations, use PromptForFamilyInstancePlacement(Autodesk::Revit::DB::FamilySymbol) instead.
   This method uses its own transaction, so it's not permitted to be invoked in an active transaction.
   The user is not permitted to change the active legend view or
   during this placement operation (the operation will be cancelled).
   In a single invocation, the user can place multiple instances of the input element type until they finish the
   placement (with Cancel or ESC or a click elsewhere in the UI).
</remarks>
      <param name="elementType">
   The ElementType of which instances are to be placed.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The input element type does not belong to a model-level category.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
   -or-
   Thrown when the active view isn't a legend view.
   -or-
   Can not create this kind of element in legend view.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)">
      <summary>
   Places a request on Revit's command queue for the user to place instances of the specified ElementType.  This does not execute immediately,
   but instead when control returns to Revit from the current API context.
</summary>
      <remarks>
   This method starts its own transaction.  In a single invocation, the user can place multiple instances of the input element type
   until they finish the placement (with Cancel or ESC or a click elsewhere in the UI).  This method invokes the UI when control returns
   from the current API context; because of this, the normal Revit UI options will be available to the user,  but the API will not be
   notified when the user has completed this action.  Because this request is queued to run at the end of the current API context,
   only one such request can be set (between this and the commands set by UIApplication.PostCommand()).  This differs from
   PromptForFamilyInstancePlacement() as that method can be run within the current API context, but the user is not permitted
   full access to the user interface options during placement.
</remarks>
      <param name="elementType">
   The ElementType of which instances are to be placed.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The user cannot be prompted to place the input type on the active view.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PromptToPlaceViewOnSheet(Autodesk.Revit.DB.View,System.Boolean)">
      <summary>
   Prompts the user to place a specified view onto a sheet.
</summary>
      <remarks>
   This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
   In a single invocation, the user can place only one view onto the active sheet.
   The user is not permitted to change the active sheet view or the view to be placed
   during this placement operation (the operation will be cancelled).
   The user can cancel the placement operation by pressing Cancel or ESC or a click elsewhere in the UI.
</remarks>
      <param name="view">
   The view to insert onto a sheet.
</param>
      <param name="allowReplaceExistingSheetViewport">
   A indicator which allows the user to replace the existing viewport.
   <p>If true, the viewport representing this view will be replaced by the new viewport created during placement.
   If the view is allowed only to be on one sheet, this will remove the viewport from the old sheet.
   If the view is allowed to be on multiple sheets, and the view is currently placed on the active sheet,
   the old viewport on this sheet will be replaced. </p>
   If false, if the view is only allowed to be on one sheet,
   or if the view is allowed to be on multiple sheets but is already on the active sheet, an exception will be thrown.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   This view is a view template.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
   -or-
   The active view isn't a sheet where a view can be placed.
   -or-
   Thrown when replacing an existing viewport isn't allowed. See allowReplaceExistingSheetViewport parameter documentation for details.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.GetSketchGalleryOptions(Autodesk.Revit.DB.FamilySymbol)">
      <summary>
   Gets the valid sketch gallery options of a family symbol.
</summary>
      <param name="familySymbol">
   The family symbol.
</param>
      <returns>
   The valid list of SketchGalleryOptions.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.ActiveGraphicalView">
      <summary>
   The currently active graphical view of the currently active document.
</summary>
      <remarks>
   This property is applicable to the currently active document only.
   Returns <see langword="null" /> if this document doesn't represent the active document.
</remarks>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.GetOpenUIViews">
      <summary>Get a list of all open view windows in the Revit user interface.</summary>
      <remarks>A sheet view with an activated viewport will return the view associated with the activated viewport, not the sheet view.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.Application">
      <summary> Retrieves an object that represents the current Application.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PromptForFamilyInstancePlacement(Autodesk.Revit.DB.FamilySymbol,Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions)">
      <summary>Prompts the user to place instances of the specified FamilySymbol.</summary>
      <param name="familySymbol">The FamilySymbol.</param>
      <param name="options">The PromptForFamilyInstancePlacementOptions, to place the family instance according to the options.</param>
      <remarks>
        <p>This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
In a single invocation, the user can place multiple instances of the input family type until they finish the 
placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. 
Users are not permitted to change the active view during this placement operation (the operation will be completed).
</p>
        <p>This method differs from <see cref="M:Autodesk.Revit.UI.UIDocument.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)" /> in that it will execute immediately
within the current API context and return to the application when the user completes or cancels the operation.  However,
it does not allow the user access to user interface options and settings related to the placement. </p>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when 
the family symbol should be of category OST_DuctTerminal because PlaceAirTerminalOnDuct in options is true,
or the sketch gallery options in options is invalid,
or the placement type for the family symbol in options is invalid.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when 
this API method is invoked in an active transaction,
or this document is not active, 
or this is a family document and the instances of this family symbol can not exist in the current family, 
or this family symbol has no command to create instance, 
or the command to create instance is disabled in active view.</exception>
      <since>2015</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.PromptForFamilyInstancePlacement(Autodesk.Revit.DB.FamilySymbol)">
      <summary>Prompts the user to place instances of the specified FamilySymbol.</summary>
      <param name="familySymbol">The FamilySymbol.</param>
      <remarks>
        <p>This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
In a single invocation, the user can place multiple instances of the input family type until they finish the 
placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. 
Users are not permitted to change the active view during this placement operation (the operation will be completed).
</p>
        <p>This method differs from <see cref="M:Autodesk.Revit.UI.UIDocument.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)" /> in that it will execute immediately
within the current API context and return to the application when the user completes or cancels the operation.  However,
it does not allow the user access to user interface options and settings related to the placement. </p>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when 
this API method is invoked in an active transaction,
or this document is not active, 
or this is a family document and the instances of this family symbol can not exist in the current family, 
or this family symbol has no command to create instance, 
or the command to create instance is disabled in active view.</exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.RequestViewChange(Autodesk.Revit.DB.View)">
      <summary>
   Requests an asynchronous change of the active view in the currently active document.
</summary>
      <param name="view">The View.</param>
      <since>2015</since>
      <remarks>
        <para>This method requests to change the active view by posting a message asynchronously. 
   Unlike setting the <see cref="P:Autodesk.Revit.UI.UIDocument.ActiveView" /> property, 
   this will not make the change in active view immediately. Instead the request will be posted 
   to occur when control returns to Revit from the API context. This method is permitted to change 
   the active view from the Idling event or an ExternalEvent callback.</para>
        <para>The active view cannot be changed when:
   <ul><li>There is an open transaction in the currently active document.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsModifiable" /> is true.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsReadOnly" /> is true.</li><li>ViewActivating, ViewActivated, or any pre-event (such as DocumentSaving) is being handled.</li></ul></para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If the 'view' argument is NULL.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
        <ul>
          <li>If the given view is not a valid view of the document; -or-</li>
          <li>If the given view is a template view; -or-</li>
          <li>If the given view is an internal view.</li>
        </ul>
      </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the given view is not from the currently active document; -or-</li>
          <li>If the active document is currently modifiable (i.e. with an active transaction); -or-</li>
          <li>If the active document is currently in read-only state; -or-</li>
          <li>During either ViewActivating or ViewActivated event; -or-</li>
          <li>During any pre-action kind of event, such as DocumentSaving, etc.</li>
        </ul>
      </exception>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.Document">
      <summary>Returns the database level document represented by this UI-level document.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.ActiveView">
      <summary>
   The currently active view of the currently active document.
</summary>
      <since>2012</since>
      <remarks>
        <para>This property is applicable to the currently active document only.
         Returns <see langword="null" /> if this document doesn't represent the active document.</para>
        <para>The active view can only be changed when:
   <ul><li>There is no open transaction.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsModifiable" /> is false.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsReadOnly" /> is false.</li><li>ViewActivating, ViewActivated, and any pre-action of events (such as DocumentSaving or DocumentClosingevents) are not being handled.</li></ul></para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting the property: If the 'view' argument is NULL.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
 When setting the property:
 <ul><li>If the given view is not a valid view of the document; -or-</li><li>If the given view is a template view; -or-</li><li>If the given view is an internal view.</li></ul></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <para>When setting the property:
   <ul><li>If the document is not currently active; -or-</li><li>If the document is currently modifiable (i.e. with an active transaction); -or-</li><li>If the document is currently in read-only state; -or-</li><li>When invoked during either ViewActivating or ViewActivated event; -or-</li><li>When invoked during any pre-action kind of event, such as DocumentSaving, DocumentClosing, etc.</li></ul></para>
      </exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.RefreshActiveView">
      <summary>Refresh the display of the active view in the active document.</summary>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.ShowElements(System.Collections.Generic.ICollection{Autodesk.Revit.DB.ElementId})">
      <summary>Shows the elements by zoom to fit.</summary>
      <param name="elementIds">The set of element ids which will be shown.</param>
      <remarks>Places all the elements on the screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">elementIds is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elementIds is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elementIds is not valid.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.ShowElements(Autodesk.Revit.DB.ElementSet)">
      <summary>Shows the elements by zoom to fit.</summary>
      <param name="elements">The set of elements that will be shown.</param>
      <remarks>Places all the elements on the screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Elements is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elements is null.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.ShowElements(Autodesk.Revit.DB.Element)">
      <summary>Shows the element by zoom to fit.</summary>
      <param name="element">Element that will be shown.</param>
      <remarks>Places the element in the center of screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Element is null.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.ShowElements(Autodesk.Revit.DB.ElementId)">
      <overloads>Shows one or more elements by zoom to fit.</overloads>
      <summary>Shows the element by zoom to fit.</summary>
      <param name="elementId">Element id that will be shown.</param>
      <remarks>Places the element in the center of screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Element id is not valid.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.SaveAndClose">
      <summary>Close the document, prompting the user for saving it when necessary.</summary>
      <returns>False if closing procedure fails or if saving of a modified document was requested but failed. 
Also returns False if closing is cancelled by an external application during 'DocumentClosing' event. 
When function succeeds, True is returned.</returns>
      <remarks>UI dialogs may be shown during the call (e.g. when the document has been changed since last time it was saved) to get user responses.
The currently active document may not be closed by this function. It can only be closed via Revit's UI. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
Thrown when attempting to close the currently active document.
Thrown if there are any transactions, sub-transactions or transaction groups which 
were opened by the API code, and not closed. All of these items must be handled 
before attempting to close the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown if this a linked file.</exception>
    </member>
    <member name="P:Autodesk.Revit.UI.UIDocument.Selection">
      <summary>Retrieve the currently selected Elements in Autodesk Revit.</summary>
      <remarks>Returns an object that represents the active selection. The Selection property returns an
object that represents the active selection when the command was started.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.GetRevitUIFamilyLoadOptions">
      <summary>Return the option object that allows you to use Revit's dialog boxes to let the user respond to questions that arise during loading of families. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown if 
this API method is invoked in UI less mode</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIDocument.#ctor(Autodesk.Revit.DB.Document)">
      <summary>
   Use a database level Document to construct a UI-level Document.
</summary>
      <param name="document">
   The database level document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   document is not a primary document, it is a linked document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.UIDocument">
      <summary>
   An object that represents an Autodesk Revit project opened in the Revit user interface.
</summary>
      <remarks>
        <p>This class represents a document opened in the user interface and therefore offers interfaces
   to work with settings and operations in the UI (for example, the active selection). Revit can have multiple
   projects open and multiple views to those projects. The active or top most view will be the
   active project and hence the active document which is available from the UIApplication object.</p>
   Obtain the database level Document (which contains interfaces not related to the UI) via the
   Document property.  If you have a database level Document and need to access it from the UI, you can
   construct a new UIDocument from that object (the document must be open and visible in the UI to allow the methods to
   work successfully).
</remarks>
    </member>
    <member name="T:ModelIdentity">
      <summary>
Model Identity with GUID
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.SketchGalleryOptions">
      <summary>
   Enumerates all the sketch options.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_SketchLanding">
      <summary>
   Sketch a landing.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_SketchRun">
      <summary>
   Sketch a run.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_LandingWithTwoRuns">
      <summary>
   Pick two runs to create a landing.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_WinderUShape">
      <summary>
   Sketch a U-Shape winder.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_SupportPickLine">
      <summary>
   Pick a line to create a support.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_WinderPattern">
      <summary>
   Pick winder pattern.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_WinderLShape">
      <summary>
   Sketch a L-Shape winder.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_LandingSquare">
      <summary>
   Sketch a landing square.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_RunArcCenterEnds">
      <summary>
   Sketch a Center-Ends spiral for a run of stairs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_RunArcFullStep">
      <summary>
   Sketch a Full-Step spiral for a run of stairs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_RunLine">
      <summary>
   Sketch a line for a run of stairs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PointElement">
      <summary>
   Pick point element.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickPoints">
      <summary>
   Pick points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Point">
      <summary>
   Pick a point.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickRoofs">
      <summary>
   Pick roofs.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickSupports">
      <summary>
   Pick supports.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickWalls">
      <summary>
   Pick walls.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickFaces">
      <summary>
   Pick faces.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PickLines">
      <summary>
   Pick lines.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_PartialEllipse">
      <summary>
   Sketch a partial ellipse.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_FullEllipse">
      <summary>
   Sketch a full ellipse.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_SplineByPoints">
      <summary>
   Sketch a spline by points.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Spline">
      <summary>
   Sketch a spline.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_ArcFillet">
      <summary>
   Sketch a fillet arc.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_ArcTanEnd">
      <summary>
   Sketch a Tangent-End arc.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_ArcCenterEnds">
      <summary>
   Sketch a Center-Ends arc.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Arc3Point">
      <summary>
   Sketch a Start-End-Radius arc.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Circle">
      <summary>
   Sketch a circle.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_CircumscribedPolygon">
      <summary>
   Sketch a circumscribed polygon.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_InscribedPolygon">
      <summary>
   Sketch an inscribed polygon.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Rect">
      <summary>
   Sketch a rectangle.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Line">
      <summary>
   Sketch a line.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.SketchGalleryOptions.SGO_Default">
      <summary>
   The default option which means the real option is decided by Revit internally.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.FaceBasedPlacementType">
      <summary>
   This enumerated type specifies options available for placement of a face-based family instance.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="F:Autodesk.Revit.UI.FaceBasedPlacementType.PlaceOnWorkPlane">
      <summary>
   Placement on current workplane.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.FaceBasedPlacementType.PlaceOnFace">
      <summary>
   Placement on a selected face from existing geometry.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.FaceBasedPlacementType.PlaceOnVerticalFace">
      <summary>
   Placement on a vertical face.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.FaceBasedPlacementType.Default">
      <summary>
   Placement the instance which is not face-based.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.Equals(System.Object)">
      <summary> Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.  </summary>
      <param name="obj"> Another panel object. </param>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.AddSlideOut">
      <summary> Adds a slideout to the current panel. </summary>
      <remarks> The slideout part of the panel can be shown by clicking on the arrow at the bottom of the panel.
After calling AddSlideOut(), any subsequent calls to add new items will add the new item(s) to the slideout.
The slideout part of the panel will be shown only if items are added after this call.
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when a slide out panel is already added. </exception>
      <since>2011</since>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\RibbonPanel.cs" region="Autodesk.Revit.UI.RibbonPanel.AddSlideOut()" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\RibbonPanel.vb" region="Autodesk.Revit.UI.RibbonPanel.AddSlideOut()" />
      </example>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.AddStackedItems(Autodesk.Revit.UI.RibbonItemData,Autodesk.Revit.UI.RibbonItemData,Autodesk.Revit.UI.RibbonItemData)">
      <summary> Adds three stacked items to the panel. </summary>
      <param name="item1"> Data containing information about the first item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData.</param>
      <param name="item2"> Data containing information about the second item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData.</param>
      <param name="item3"> Data containing information about the third item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData.</param>
      <returns> A collection containing the added items. </returns>
      <remarks> Each new item may either be a PushButton, PulldownButton, SplitButton, ComboBox or TextBox, depending upon the type of 
data passed in for each argument. The new items will be created as small-size horizontal controls, 
with the first stacked on top of the second in the panel. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when item1, item2 or item3 is <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an item with item1.Name or item2.Name or item3.Name already exists in the panel or the data is not of the correct type. </exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.AddStackedItems(Autodesk.Revit.UI.RibbonItemData,Autodesk.Revit.UI.RibbonItemData)">
      <summary> Adds two stacked items to the panel. </summary>
      <param name="item1"> Data containing information about the first item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData.</param>
      <param name="item2"> Data containing information about the second item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData.</param>
      <returns> A collection containing the added items. </returns>
      <remarks> Each new item may either be a PushButton, PulldownButton, SplitButton, ComboBox or TextBox, depending upon the type of 
data passed in for each argument. The new items will be created as small-size horizontal controls, 
with the first stacked on top of the second in the panel. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when item1 or item2 is <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an item with the item1.Name or item2.Name already exists in the panel or the data is not of the correct type. </exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.AddItem(Autodesk.Revit.UI.RibbonItemData)">
      <summary> Adds a Ribbon item to the panel. </summary>
      <param name="itemData"> Data containing information about the new item. </param>
      <returns> The added Ribbon item. </returns>
      <remarks> The new item may either be a PushButton, PulldownButton, SplitButon, RadioButtonGroup, ComboBox, or TextBox depending upon the type of data passed in.
The new item may be created as a large-size vertical control in the panel.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when itemData is <see langword="null" />. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an item with the itemData.Name already exists in the panel or the data is not of the correct type. </exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.AddSeparator">
      <summary>Adds a new Separator to the panel.</summary>
      <remarks>The separator won't be shown if there are no items already added to the panel.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonPanel.GetItems">
      <summary>Gets a copy of the collection of RibbonItems assigned to the RibbonPanel.</summary>
      <remarks>This method gets the items assigned to the RibbonPanel. </remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonPanel.Enabled">
      <summary>Gets or sets a value indicating whether the RibbonPanel can respond to user interaction.</summary>
      <value>True if the panel allows interaction, false if the panel disallows interaction with all the controls it contains.</value>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonPanel.Visible">
      <summary>Gets or sets a value indicating whether the RibbonPanel is displayed.</summary>
      <value>True if the RibbonPanel is displayed; otherwise, false. The default is true.</value>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonPanel.Title">
      <summary>Gets or sets the text of the RibbonPanel.</summary>
      <remarks>If this property is not set, the default value is its Name.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when the title contains angle bracket.</exception>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonPanel.Name">
      <summary>Gets or sets the name of the RibbonPanel.</summary>
      <remarks>The name will be displayed on the panel if the Text is not set.</remarks>
    </member>
    <member name="T:Autodesk.Revit.UI.RibbonPanel">
      <summary>Represents a panel added by an External Application or External Command into the Add-Ins tab. </summary>
      <remarks>The Panel class provides read and write access to the RibbonItems contained in the panel. Use of this class is not supported in Revit Macros.</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\RibbonPanel.cs" region="Autodesk.Revit.UI.RibbonPanel" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\RibbonPanel.vb" region="Autodesk.Revit.UI.RibbonPanel" />
      </example>
    </member>
    <member name="T:Autodesk.Revit.UI.Tab">
      <summary>An enumerated type listing static tabs which support addition of panels via the API.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Tab.Analyze">
      <summary>The Analyze tab.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Tab.AddIns">
      <summary>The Add-Ins tab.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ViewActivatingEventArgs.CurrentActiveView">
      <summary>
   The view that is currently active.
</summary>
      <remarks>
   May be <see langword="null" /> if there is no currently active view.
</remarks>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ViewActivatingEventArgs.NewActiveView">
      <summary>
   The view that is going to become active.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ViewActivatingEventArgs">
      <summary>
   The event arguments used by the ViewActivating event.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ViewActivatedEventArgs.PreviousActiveView">
      <summary>
   The previously active view.
</summary>
      <remarks>
   May be <see langword="null" /> if there was no previously active view.
</remarks>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ViewActivatedEventArgs.CurrentActiveView">
      <summary>
   The view that has just become active.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ViewActivatedEventArgs">
      <summary>
   The event arguments used by the ViewActivated event.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.TransferredProjectStandardsEventArgs.GetSelectedExternalItems">
      <summary>
   Gets the collection of externally added items that the user opted to enable for transfer in the Transfer Project Standards dialog.
</summary>
      <remarks>
   If more than one add-in has registered external items, this will report items enabled for transfer for all such add-ins.  Add-ins should handle the transfer only for those items which they actually registered in the TransferringProjectStandards event.
</remarks>
      <returns>
   External items user wants to transfer.
</returns>
      <since>
   2017.2
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.TransferredProjectStandardsEventArgs.TargetDocument">
      <summary>
   Target document.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.TransferredProjectStandardsEventArgs.SourceDocument">
      <summary>
   Source document.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.TransferredProjectStandardsEventArgs">
      <summary>
   The event arguments used by the TransferredProjectStandards event.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.TransferringProjectStandardsEventArgs.SetExternalItems(System.Collections.Generic.IDictionary{System.Guid,System.String})">
      <summary>
   Sets the collection of externally added items which should be shown in the Transfer Project Standards dialog as options.
</summary>
      <remarks>
   The externally added items that the user opted to transfer will be reported in the args to the TransferredProjectStandards event.
</remarks>
      <param name="externalItems">
   The external items which are displayed in the Transfer Project Standards UI.
   GUIDvalue is used to identify the external item string.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017.2
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.TransferringProjectStandardsEventArgs.GetExternalItems">
      <summary>
   Gets the collection of externally added items which should be shown in the Transfer Project Standards dialog as options.
</summary>
      <returns>
   The external items which are displayed in the Transfer Project Standards UI.
   GUIDvalue is used to identify the external item string.
</returns>
      <since>
   2017.2
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.TransferringProjectStandardsEventArgs.TargetDocument">
      <summary>
   Target document.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.TransferringProjectStandardsEventArgs.SourceDocument">
      <summary>
   Source document.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.TransferringProjectStandardsEventArgs">
      <summary>
   The event arguments used by the TransferringProjectStandards event.
</summary>
      <since>
   2017.2
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.IdlingEventArgs.SetRaiseWithoutDelay">
      <summary>
   Sets the next invocation of the idling event to be called promptly,
   rather than relying on the default recurrence of idling from the Revit application. For more
   details see the remarks describing the Idling event.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.IdlingEventArgs">
      <summary>
   The event arguments used by the Idling event.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.GetCurrentSolutionPartTypeIds">
      <summary>
   Returns set of fabrication part types that are used in the currently selected solution.
</summary>
      <returns>
   The set of ElementIds.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.GetAllSolutionsPartsTypeCounts">
      <summary>
   Returns the total fabrication part type usage count in all routing solutions.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.GetFilteredSolutionsPartsTypeCounts">
      <summary>
   Returns the active fabrication part type usage count in fitlered routing solutions.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.GetRequiredFabricationPartTypeIds">
      <summary>
   Returns set of required fabrication part types in use in routing solution mode.
</summary>
      <returns>
   The set of ElementIds for for required fabrication part types that is in use in routing solution mode.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.GetFabricationPartTypeIds">
      <summary>
   Returns set of fabrication part types in use in the routing solution mode.
</summary>
      <returns>
   The set of ElementIds for for fabrication part types that is in use in routing solution mode.
</returns>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.NumberOfSolutions">
      <summary>
   The number of active solutions in routing solution mode.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.ServiceId">
      <summary>
   The identifier for the fabrication service.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs.Operation">
      <summary>
   The operation associated with this event
</summary>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.FabricationPartBrowserChangedEventArgs">
      <summary>
   The event arguments used by the FabricationPartBrowserChangedEventArgs event.
</summary>
      <since>
   2017
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation">
      <summary>
   Operations for the FabricationPartBrowserChangedEventArgs Event
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.FinishMPRoutingMode">
      <summary>
   Finish multi-point routing mode
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.StartMPRoutingMode">
      <summary>
   Start multi-point routing mode
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.FinishRoutingSolutionMode">
      <summary>
   Finish routing solution mode
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.RoutingSolutionChanged">
      <summary>
   Active Routing solution has changed
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.CreatedRoutingSolutions">
      <summary>
   Routing solutions (re)created
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.StartRoutingSolutionMode">
      <summary>
   Start routing solution mode
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.ShowService">
      <summary>
   Select current service
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.HideBrowser">
      <summary>
   Hide browser window
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.ShowBrowser">
      <summary>
   Show browser window
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.Events.FabricationPartBrowserOperation.UnknownOperation">
      <summary>
   Unknown operation
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DockableFrameVisibilityChangedEventArgs.PaneId">
      <summary>
   The identifier for dockable pane.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DockableFrameVisibilityChangedEventArgs.DockableFrameShown">
      <summary>
   True if the pane is being shown, false if it is being hidden.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.DockableFrameVisibilityChangedEventArgs">
      <summary>
   The event arguments used by the DockableFrameVisibilityChanged event.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DockableFrameFocusChangedEventArgs.PaneId">
      <summary>
   The identifier for dockable pane.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DockableFrameFocusChangedEventArgs.FocusGained">
      <summary>
   True if the pane is being activated, false if it is being inactivated.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.DockableFrameFocusChangedEventArgs">
      <summary>
   The event arguments used by the DockableFrameActivatedChanged event.
</summary>
      <since>
   2015
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs.Message">
      <summary>
   The message that has been displayed in the dialog box.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs">
      <summary>
   The event arguments used by the DialogBoxShowing event when a Revit task dialog that prompts the user for some action is shown.
</summary>
      <remarks>
   When the application receives this object, a task dialog is about to be displayed in Revit that
   requires user interaction. The OverrideResult function can be used to cause the dialog
   to be dismissed and return a desired result code.
</remarks>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs.DialogType">
      <summary>
   An integer that describes the standard Windows type of the dialog box.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs.Message">
      <summary>
   The message that has been displayed in the dialog box.
</summary>
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs">
      <summary>
   The event arguments used by the DialogBoxShowing event when a Windows message box is about to be displayed in Revit.
</summary>
      <remarks>
   When the application receives this object, a simple message box is about to be displayed in Revit that
   requires user interaction. The OverrideResult function can be used to cause the dialog
   to be dismissed and return a desired result code.
</remarks>
      <since>
   2010
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.OverrideResult(System.Int32)">
      <summary>
   Call this method to cause the Autodesk Revit dialog to be dismissed with the specified return value.
</summary>
      <remarks>
   The range of valid result values depends on the type of dialog as follows:
   <list type="number"><item>
   DialogBox: Any non-zero value will cause a dialog to be dismissed.
   </item><item>
   MessageBox: Standard Message Box IDs, such as IDOK and IDCANCEL, are accepted.
   For all possible IDs, refer to the Windows API documentation.
   The ID used must be relevant to the buttons in a message box.
   </item><item>
   TaskDialog: Standard Message Box IDs and Revit Custom IDs are accepted,
   depending on the buttons used in a dialog. Standard buttons, such as OK
   and Cancel, have standard IDs described in Windows API documentation.
   Buttons with custom text have custom IDs with incremental values
   starting at 1001 for the left-most or top-most button in a task dialog.
   </item></list></remarks>
      <param name="resultCode">
   The result code you wish the Revit dialog to return.
</param>
      <returns>
   True if the result code was accepted.
</returns>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.Result">
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs">
      <summary>
   The base class for the event arguments used by the DialogBoxShowing event.
</summary>
      <remarks>
   The actual type of the event arguments will be different depending upon the type of dialog shown.
   When the application receives this object, a dialog is to be displayed in Revit that
   requires user interaction. The OverrideResult function can be used to cause the dialog
   to be dismissed and return a desired result code.
</remarks>
      <since>
   2010
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ApplicationClosingEventArgs">
      <summary>
   The event arguments used by the ApplicationClosing event.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.MessageBoxData.DialogType">
      <summary>
An integer that describes the standard windows type of the dialog box.
</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.MessageBoxData.Message">
      <summary>
The message that has been displayed in the dialog box.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.MessageBoxData">
      <summary>
An object that represents a simple message box that prompts the user
for some action.
</summary>
      <remarks>
When the application receives this object, a simple message box is displayed in Revit that
requires user interaction. The OverrideResult function can be used to cause the dialog
to be dismissed and return a desired result code.
</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.DialogBoxData.OverrideResult(System.Int32)">
      <summary>
Call this method to cause the Autodesk Revit dialog to be dismissed with the specified return value.
</summary>
      <param name="result"> The result code you wish the Revit dialog to return. </param>
      <returns> Returns true if the result code was accepted. </returns>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DialogBoxData.HelpId">
      <summary>
An ID that represents the dialog that has been displayed.
</summary>
      <remarks> Use this ID within your application to key suitable responses for the dialog. Note: this id is
not guaranteed to remain stable for different builds of Autodesk Revit.</remarks>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.DialogBoxData">
      <summary>
An object that is passed to your application when a dialog is displayed in Revit.
</summary>
      <remarks>
When the application receives this object, a dialog has been displayed in Revit that
requires user interaction. The OverrideResult function can be used to cause the dialog
to be dismissed and return a desired result code.
</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxData.Image">
      <summary>The image shown on the ComboBox.</summary>
      <remarks>The image will be shown on the left side of the item.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBoxData.#ctor(System.String)">
      <summary>Constructs a new instance of ComboBoxData.</summary>
      <param name="name">The internal name of the ComboBoxMember.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for name.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for name.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ComboBoxData">
      <summary>This class contains information necessary to construct a combo box in the Ribbon.</summary>
      <since>2011</since>
    </member>
    <member name="E:Autodesk.Revit.UI.ComboBox.CurrentChanged">
      <summary>Subscribe to this event to be notified when the current item of the ComboBox is changed.</summary>
    </member>
    <member name="E:Autodesk.Revit.UI.ComboBox.DropDownClosed">
      <summary>Subscribe to this event to be notified when the drop-down of the ComboBox is closed.</summary>
    </member>
    <member name="E:Autodesk.Revit.UI.ComboBox.DropDownOpened">
      <summary>Subscribe to this event to be notified when the drop-down of the ComboBox is opened. </summary>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBox.GetItems">
      <summary>Gets the copy of a collection of the ComboBoxMembers assigned to the ComboBox.</summary>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBox.AddSeparator">
      <summary>Adds a separator to the drop-down list.</summary>
      <remarks>The separator will be added below the last added member.</remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBox.AddItems(System.Collections.Generic.IList{Autodesk.Revit.UI.ComboBoxMemberData})">
      <summary>Adds a new items to the ComboBox.</summary>
      <param name="memberData">An object list containing the data needed to construct the ComboBoxMember.  </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when memberData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when button with memberData.Name already exists in the drop-down list.
</exception>
      <returns> The newly added ComboBoxMembers. </returns>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBox.AddItem(Autodesk.Revit.UI.ComboBoxMemberData)">
      <summary>Adds a new item to the ComboBox.</summary>
      <param name="memberData">An object containing the data needed to construct the ComboBoxMember.  </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when memberData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> 
Thrown when button with memberData.Name already exists in the drop-down list.
</exception>
      <returns> The newly added ComboBoxMember. </returns>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBox.Image">
      <summary>The image shown on the ComboBox.</summary>
      <remarks>The image will be shown on the left side of the item.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBox.Current">
      <summary>Gets or sets the current checked ComboBox member of the ComboBox.</summary>
      <remarks>
The default value is the first ComboBox member added to the ComboBox.            
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when trying to set this property to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when trying to set this property to a button not in this ComboBox.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ComboBox">
      <summary>This class represents a selection control with a drop-down list that can be shown or hidden by clicking the arrow.</summary>
      <remarks>The order of items shown in the ComboBox depends upon the order which they were added, unless the ComboBoxMembers have been assigned to groups. 
If the members have been assigned groups, they will be sorted to fall under their groups regardless of the order in which they were added.
Use of this class is not supported in Revit Macros.</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxMemberData.GroupName">
      <summary>Gets or sets a group name for the ComboBoxMember.</summary>
      <remarks>The GroupName is used to group the items and also appears in the group header.
All ComboBoxMembers assigned to the same group will be grouped in the ComboBox. There will be a header that shows the name.
The default value is <see langword="null" />.
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxMemberData.Image">
      <summary>The image shown on the ComboBoxMember.</summary>
      <remarks>The image will be shown on the left side of the item when the item is added to a ComboBox.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxMemberData.Text">
      <summary>The user-visible text of the ComboBoxMember.</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string, 
or when the value contains invalid characters.</exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ComboBoxMemberData.#ctor(System.String,System.String)">
      <summary>Constructs a new instance of ComboBoxMemberData.</summary>
      <param name="name">The internal name of the ComboBoxMember.</param>
      <param name="text">The user visible text seen on the item. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when <see langword="null" /> is passed for one or more arguments.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when an empty string is passed for one or more arguments.</exception>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ComboBoxMemberData">
      <summary>This class contains information necessary to construct a ComboBoxMember.</summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxMember.GroupName">
      <summary>The group to which the ComboBoxMember is assigned.</summary>
      <remarks>If set, the ComboBoxMember appears under a group header in the ComboBox. If <see langword="null" />, the ComboBoxMember is not a member of any group.
The default value is <see langword="null" />.           
</remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ComboBoxMember.Image">
      <summary>The image shown on the ComboBoxMember.</summary>
      <remarks>The image will be shown on the left side of the item.
The best size is 16 x 16 pixels. </remarks>
      <since>2011</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ComboBoxMember">
      <summary>This class represents an item in the drop-down list of a ComboBox.</summary>
      <remarks>Note that a ComboBoxMember will not show an individual tool tip.
Use of this class is not supported in Revit Macros.</remarks>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonItemData.SetContextualHelp(Autodesk.Revit.UI.ContextualHelp)">
      <summary>Sets the contextual help bound with this button data.</summary>
      <param name="contextualHelp">The contextual help.</param>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonItemData.GetContextualHelp">
      <summary>Gets the contextual help bound with this control.</summary>
      <returns>The contextual help assigned to the item, or <see langword="null" /> if there is no binding assigned.</returns>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItemData.ToolTipImage">
      <summary>The image to show as a part of the button extended tooltip </summary>
      <remarks> Shown when the cursor hovers over the command. 
If neither this property nor LongDescription is supplied, the button will not have 
an extended tooltip. Maximum height or width is 355 pixels.
SplitButton and RadioButtonGroup cannot display the tooltip set by this method. SplitButton
shows the current PushButton tooltip and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItemData.LongDescription">
      <summary> Long description of the command tooltip </summary>
      <remarks> It will be used as part of the button's extended 
tooltip. This tooltip is shown when the mouse hovers over the command for a long amount 
of time. You can split the text of this option into multiple paragraphs by placing &lt;p&gt; 
tags around each paragraph. Optional. If neither of this property and TooltipImage is 
supplied, the button will not have an extended tooltip. 
SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will
always show the current PushButton tooltip, and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItemData.ToolTip">
      <summary>The description that appears as a ToolTip for the item.</summary>
      <remarks>The text that is displayed when the mouse pointer moves over the item. 
SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will
always show the current PushButton tooltip, and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItemData.Name">
      <summary>The name of the item.</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when setting the value to <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when setting the value to an empty string.</exception>
    </member>
    <member name="T:Autodesk.Revit.UI.RibbonItemData">
      <summary>Base class used to contain information necessary to construct a RibbonItem in the Ribbon.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonItem.SetContextualHelp(Autodesk.Revit.UI.ContextualHelp)">
      <summary>Sets the contextual help bound with this button.</summary>
      <param name="contextualHelp">The contextual help.</param>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonItem.GetContextualHelp">
      <summary>Gets the contextual help bound with this control.</summary>
      <returns>The contextual help assigned to the item, or <see langword="null" /> if there is no binding assigned.</returns>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.RibbonItem.Equals(System.Object)">
      <summary> Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Object" />.  </summary>
      <param name="obj"> Another panel object. </param>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.ItemType">
      <summary>Gets the item type.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.Visible">
      <summary>Gets or sets a value indicating whether the item is visible. </summary>
      <remarks>When the Visible property is set to false, the item won't be displayed on Ribbon. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.Enabled">
      <summary>Gets or sets a value indicating whether the item is enabled. </summary>
      <remarks>When the Enabled property is set to false, the item cannot be clicked, 
and the item's appearance changes. The Image and Text assigned to the item appear grayed
out. For pushbuttons, the button may be enabled programmatically but be disabled in the user interface
because of the Revit context; see the property IsEnabledByContext for RibbonButton. </remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.ToolTipImage">
      <summary>The image to show as a part of the button extended tooltip </summary>
      <remarks> Shown when the cursor hovers over the command. 
If neither this property nor LongDescription is supplied, the button will not have 
an extended tooltip. Maximum height or width is 355 pixels.
SplitButton and RadioButtonGroup cannot display the tooltip set by this method. SplitButton
shows the current PushButton tooltip and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.LongDescription">
      <summary> Long description of the command tooltip </summary>
      <remarks> It will be used as part of the button's extended 
tooltip. This tooltip is shown when the mouse hovers over the command for a long amount 
of time. You can split the text of this option into multiple paragraphs by placing &lt;p&gt; 
tags around each paragraph. Optional. If neither of this property and TooltipImage is 
supplied, the button will not have an extended tooltip. 
SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will
always show the current PushButton tooltip, and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.ToolTip">
      <summary>The description that appears as a ToolTip for the item.</summary>
      <remarks>The text that is displayed when the mouse pointer moves over the item. 
SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will
always show the current PushButton tooltip, and RadioButtonGroup has no tooltip.</remarks>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.ItemText">
      <summary>Gets or sets the text displayed on the item. </summary>
      <remarks>The text can be changed at run time. <see langword="null" /> or empty string is not allowed. 
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when setting the text to empty or to the string contains "%". </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException"> Thrown when setting the text to <see langword="null" />. </exception>
    </member>
    <member name="P:Autodesk.Revit.UI.RibbonItem.Name">
      <summary>The name of the item.</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when setting the text to empty or to the string contains "%". </exception>
    </member>
    <member name="T:Autodesk.Revit.UI.RibbonItem">
      <summary>The RibbonItem object represents an item on RibbonPanel, can be a push-button or a pull-down 
which should contain the information for creating one RibbonItem.</summary>
      <remarks>This class is not supported in Revit Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.ContextualHelp.Launch">
      <summary>Launches and displays the help topic specified by the contents of this ContextualHelp object.</summary>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ContextualHelp.HelpTopicUrl">
      <summary>The help topic URL.</summary>
      <remarks>Applies only to objects of type ContextualHelpType.ChmFile.  If empty or <see langword="null" />, the default page of the help file will be displayed.
<br>Obtain the URL by:
<list type="number"><item> Open the chm file and go to the page you want to show.</item><item> Right click on the page, and choose the Properties command.</item><item> In the middle of properties page there is a property called: Address (URL).
The end of the URL contains the topic URL used to open the help file to the correct page.
Here is an example: mk:@MSITStore:C:\RevitAPI2013.chm::/WhatsNew.htm
The help topic URL of this page is "WhatsNew.htm".
Another example: mk:@MSITStore:C:\RevitAPI2013.chm::/html/329b02eb-5ee4-1715-2fbf-2cbbc0d3ff2a.htm
The help topic URL of this page is "html/329b02eb-5ee4-1715-2fbf-2cbbc0d3ff2a.htm". </item></list></br></remarks>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ContextualHelp.HelpPath">
      <summary>The context id, help URL, or help file path.</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when setting the help path to null or empty. </exception>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ContextualHelp.HelpType">
      <summary>The contextual help type.</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ContextualHelp.#ctor(Autodesk.Revit.UI.ContextualHelpType,System.String)">
      <summary>Constructs a contextual help object.</summary>
      <param name="helpType">The contextual help type.</param>
      <param name="helpPath">The contextual help path.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException"> Thrown when the helpPath is null or empty. </exception>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ContextualHelp">
      <summary>Contains the details for how Revit should allow invocation of contextual help for an item added by an application.</summary>
      <remarks>An instance of this class may be used to assign a contextual help location to any RibbonItem (through the RibbonItem.SetContextualHelp() method).
It is also possible to use an instance of this class to launch the help path and topic at any time (this permits association of help topics with
user interface components inside dialogs created by the add-in application). </remarks>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ContextualHelpType">
      <summary>Represents the contextual help type.</summary>
      <since>2013</since>
    </member>
    <member name="F:Autodesk.Revit.UI.ContextualHelpType.ChmFile">
      <summary>Represents the path to a file on disk. When users invoke help for this item, Revit will launch this file.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ContextualHelpType.Url">
      <summary>Represents an arbitrary URL. When users invoke help for this item, Revit will load this URL into the user's default browser.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ContextualHelpType.ContextId">
      <summary>Represents an Autodesk help context id, which will automatically be mapped to a URL in the Revit help system.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ContextualHelpType.None">
      <summary>None.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.RibbonItemType">
      <summary>An enumerated type listing all the toolbar item styles. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.TextBox">
      <summary>A text-based control that allows the user to enter text. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.ComboBox">
      <summary>A selection control with a drop-down list that can be shown or hidden by clicking the arrow on the control. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.ComboBoxMember">
      <summary>An item in the drop-down list of a ComboBox. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.RadioButtonGroup">
      <summary>An item that contains a collection of RibbonToggleButton items. </summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.ToggleButton">
      <summary>A standard button that can be added to RadioButtonGroup.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.SplitButton">
      <summary>A split button with a default button and a pull-down menu list.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.PulldownButton">
      <summary>A button with a pull-down menu list.</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.RibbonItemType.PushButton">
      <summary>A standard button with text and image.</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.CanExecuteEventArgs.GetSelectedCategoryIds">
      <summary>Gets the category ids of selected elements.</summary>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.CanExecuteEventArgs.CanExecute">
      <summary>The value that indicates whether the Command associated with this event can be executed.</summary>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.CanExecuteEventArgs">
      <summary>The event arguments used by AddInCommandBinding's CanExecute event.</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.ExecutedEventArgs.SetJournalData(System.Collections.Generic.IDictionary{System.String,System.String})">
      <summary>
Sets the journal data associated to this command (on journal playback).
</summary>
      <remarks>
For details about the use of journal data associated to a command, see ExternalCommandData.JournalData.
</remarks>
      <since>2017</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.ExecutedEventArgs.GetJournalData">
      <summary>
Gets the journal data associated to this command (on journal playback).
</summary>
      <remarks>
For details about the use of journal data associated to a command, see ExternalCommandData.JournalData.
</remarks>
      <since>2017</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ExecutedEventArgs">
      <summary>The event arguments used by AddInCommandBinding's Executed event.</summary>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.BeforeExecutedEventArgs.UsingCommandData">
      <summary>
Indicates whether or not the Revit journal will include custom data populated by the application associated with this command.
</summary>
      <remarks>
For details about the use of journal data associated to a command, see <see cref="P:Autodesk.Revit.UI.ExternalCommandData.JournalData" />.
The default value is false.
</remarks>
      <since>2017</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.BeforeExecutedEventArgs">
      <summary>The event arguments used by AddInCommandBinding's BeforeExecuted event.</summary>
      <since>2014</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.CommandEventArgs.CommandId">
      <summary>
The command id.
</summary>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.CommandEventArgs.ActiveDocument">
      <summary>
The active document.
</summary>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.CommandEventArgs">
      <summary>The base class of the command Executed and CanExecute event arguments.</summary>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.TextBoxEnterPressedEventArgs">
      <summary>The event arguments used by TextBox's EnterPressed event.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ComboBoxCurrentChangedEventArgs.NewValue">
      <summary>The current item for the ComboBox after the change.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.ComboBoxCurrentChangedEventArgs.OldValue">
      <summary>The current item for the ComboBox before the change.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ComboBoxCurrentChangedEventArgs">
      <summary>The event arguments used by ComboBox's CurrentChanged event.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ComboBoxDropDownClosedEventArgs">
      <summary>The event arguments used by ComboBox's DropDownClosed event.</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.ComboBoxDropDownOpenedEventArgs">
      <summary>The event arguments used by ComboBox's DropDownOpened event.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.RibbonItemEventArgs.Application">
      <summary>
The current UIApplication.
</summary>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.RibbonItemEventArgs">
      <summary>The base class of the RibbonItem event arguments which have UIApplication property.</summary>
    </member>
    <member name="P:Autodesk.Revit.UI.ExternalCommandData.JournalData">
      <summary>A data map that can be used to read and write data to the Autodesk Revit journal file.</summary>
      <remarks>The data map is a string to string map that can be used to store data in the Revit journal
file at the end of execution of the external command. If the command is then executed from the journal
file during playback this data is then passed to the external command in this Data property so the
external command can execute with this passed data in a UI-less mode, hence providing non interactive
journal playback for automated testing purposes. For more information on Revit's journaling features
contact the Autodesk Developer Network.</remarks>
      <example>
        <code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\ExternalCommandData_Data.cs" region="Autodesk.Revit.UI.ExternalCommandData.JournalData" />
        <code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\ExternalCommandData_Data.vb" region="Autodesk.Revit.UI.ExternalCommandData.JournalData" />
      </example>
    </member>
    <member name="P:Autodesk.Revit.UI.ExternalCommandData.View">
      <summary> Retrieves an object that represents the View external command work on. </summary>
    </member>
    <member name="P:Autodesk.Revit.UI.ExternalCommandData.Application">
      <summary> Retrieves an object that represents the current Application for 
external command. </summary>
    </member>
    <member name="T:Autodesk.Revit.UI.ExternalCommandData">
      <summary> A class contains reference to Application and View which are needed by external command. </summary>
    </member>
    <member name="M:Autodesk.Revit.UI.ExternalEvent.Raise">
      <summary>
   Instructing Revit to raise (signal) the external event.
</summary>
      <remarks>
   Revit will wait until it is ready to process the event and then
   it will execute its event handler by calling the Execute method.
   Revit processes external events only when no other commands or
   edit modes are currently active in Revit, which is the same policy
   like the one that applies to evoking external commands.
</remarks>
      <returns>
   The result of event raising request. If the request is 'Accepted',
   the event would be added to the event queue and its handler will
   be executed in the next event-processing cycle.
</returns>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ExternalEvent.CreateJournalable(Autodesk.Revit.UI.IExternalEventHandler)">
      <summary>
   Creates an instance of external event which will have the ability to record its executions in the journal.
</summary>
      <param name="handler">
   An instance of IExternalEventHandler which will execute the event.
</param>
      <returns>
   An instance of ExternalEvent class, which will be used to invoke the event
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.ExternalEvent.Create(Autodesk.Revit.UI.IExternalEventHandler)">
      <summary>
   Creates an instance of external event.
</summary>
      <param name="handler">
   An instance of IExternalEventHandler which will execute the event.
</param>
      <returns>
   An instance of ExternalEvent class, which will be used to invoke the event
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.ExternalEvent.IsPending">
      <summary>
   Checking whether an event has been raised but not yet executed.
</summary>
      <remarks>
   When an event is requested to raise it is not executed immediately;
   instead, it waits for the next possible opportunity, which is determined
   by various internal conditions in Revit (policy similar to invoking
   external commands). When the opportunity comes, the event is executed
   by calling the event's handler. In the meantime, the event is 'Pending'.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ExternalEvent">
      <summary>
   A class that represent an external event.
</summary>
      <remarks>
   An instance if this class will be returned to an external event's owner upon the event's creation.
   The event's owner will use this instance to signal that his application needs to be called by Revit.
   Revit will periodically check if any of the events have been signaled (raised), and will execute
   all events that were signaled (raised) by calling the Execute method on the events' respective handlers.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.ExternalEventRequest">
      <summary>
   Represents the possible outcomes of a request for raising an external event.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ExternalEventRequest.TimedOut">
      <summary>
   Request not accepted due to synchronization issues with other thread(s).
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ExternalEventRequest.Denied">
      <summary>
   Request was denied due to failures of the corresponding event handler.
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ExternalEventRequest.Pending">
      <summary>
   Request not accepted, because the previous request is still pending (not executed).
</summary>
    </member>
    <member name="F:Autodesk.Revit.UI.ExternalEventRequest.Accepted">
      <summary>
   Request accepted; event was added into the event queue and will be executed momentarily.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalEventHandler.GetName">
      <summary>
   String identification of the event handler.
</summary>
      <returns>
   The event's name
</returns>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalEventHandler.Execute(Autodesk.Revit.UI.UIApplication)">
      <summary>
   This method is called to handle the external event.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="T:Autodesk.Revit.UI.IExternalEventHandler">
      <summary>
   An interface to be executed when an external event is raised.
</summary>
      <remarks>
   An instance of a class implementing this interface will be registered
   with Revit first, and every time the corresponding external event
   is raised, the Execute method of this interface will be invoked.
</remarks>
      <since>
   2013
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.Events.DisplayingOptionsDialogEventArgs.PagesCount">
      <summary> The count of pages in the options dialog (include the default pages added by Revit).</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.Events.DisplayingOptionsDialogEventArgs.AddTab(System.String,Autodesk.Revit.UI.TabbedDialogExtension)">
      <summary>Add tab to option dialog with tab name and handler information.</summary>
      <remarks>
There is a limit to the number of options page permitted in the dialog.
</remarks>
      <param name="newTabName"> The new tab page name. </param>
      <param name="tabbedDialogExtension"> The handlers information for the new tab page. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when the limit
of pages allowed in the Options dialog will be exceeded (99).</exception>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.Events.DisplayingOptionsDialogEventArgs">
      <summary>
   The event arguments used by DisplayingOptionDialog event.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.TabbedDialogExtension.SetContextualHelp(Autodesk.Revit.UI.ContextualHelp)">
      <summary>Sets the contextual help.</summary>
      <param name="contextualHelp">The contextual help.</param>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TabbedDialogExtension.GetContextualHelp">
      <summary>Gets the contextual help.</summary>
      <returns>The contextual help assigned to the help button of the Revit options dialog, or <see langword="null" /> if there is no binding assigned.</returns>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TabbedDialogExtension.OnRestoreDefaultsAction">
      <summary>The restore defaults handler.</summary>
      <remarks>This handler will be invoked when the "Restore Defaults" button in Revit options dialog is clicked
and the handler should apply only to options set on this page.
There is no "Restore Defaults" button in Revit options dialog if this property was set to <see langword="null" />.
</remarks>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TabbedDialogExtension.OnCancelAction">
      <summary>The cancel handler.</summary>
      <remarks>This handler will be invoked when the "Cancel" button in Revit options dialog is clicked. 
The Revit options dialog will be closed directly if this property was set to <see langword="null" />. </remarks>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TabbedDialogExtension.OnOKAction">
      <summary>The ok handler.</summary>
      <remarks>This handler will be invoked when the "Ok" button in Revit options dialog is clicked.</remarks>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.TabbedDialogExtension.Control">
      <summary>The control.</summary>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.TabbedDialogExtension.#ctor(System.Windows.Controls.UserControl,Autodesk.Revit.UI.TabbedDialogAction)">
      <summary>Constructs a extension instance with a control and ok action handler.</summary>
      <param name="userControl">The control.</param>
      <param name="onOK">The ok action handler.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when userControl or onOK
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when userControl is already
bound to another tabbed dialog.</exception>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TabbedDialogExtension">
      <summary>
Contains the information required to create and implement the behavior for the new tab inside 
the Revit options dialog. 
</summary>
      <remarks>
Each page has an associated user interface control and the handlers of buttons Cancel, Restore Defaults
and help can optionally be set. The size of the control is limited to 305 (height) x 288 (width) in physical pixels. 
</remarks>
      <since>2013</since>
    </member>
    <member name="T:Autodesk.Revit.UI.TabbedDialogAction">
      <summary>
 Delegate for tabbed dialog actions, such as OnOK, OnCancel and RestoreDefaults.
</summary>
      <since>2013</since>
    </member>
    <member name="F:ViewCubeOptionsPage.m_bEnableShowCompass">
Defines whether to enable the ShowCompass Option
It is disabled when 1) No Active Document 2) Active Document is a Family Document 3) isaTransactionPending
</member>
    <member name="F:ViewCubeOptionsPage.m_bShowCompass">
Defines whether to show the compass with the ViewCube
</member>
    <member name="F:ViewCubeOptionsPage.m_bShowInActiveViewOnly">
ViewCube Show in Active View (TRUE, 1) or All Views (FALSE, 1)
</member>
    <member name="F:ViewCubeOptionsPage.m_bKeepSceneRightSideUp">
Defines whether to keep the scene upright or not (when clicking on the ViewCube)
</member>
    <member name="F:ViewCubeOptionsPage.m_bAnimatedTransitions">
Defines whether to use animated transitions when switching views or not.
</member>
    <member name="F:ViewCubeOptionsPage.m_bFitToViewOnViewChange">
Defines whether to fit the object to the view when clicking on the ViewCube.
</member>
    <member name="F:ViewCubeOptionsPage.m_bSnapToClosestView">
Defines whether to set the view orbit direction to the closest of the 26
fixed ViewCube part directions or not (during the drag operation).
</member>
    <member name="F:ViewCubeOptionsPage.m_nScreenSize">
ViewCube size identifier.
Can take constant values defined by the AutoCam::ViewCubeParameters::Size enumeration.
</member>
    <member name="F:ViewCubeOptionsPage.m_nInactiveOpacity">
ViewCube opacity level (in range [0,1]) when the cursor is away from
the ViewCube’s rendering area.
</member>
    <member name="F:ViewCubeOptionsPage.m_nScreenPosition">
ViewCube's position on the screen.
Can take constant values defined by the AutoCam::ViewCubeParameters::Location enumeration.
</member>
    <member name="F:ViewCubeOptionsPage.m_bShowViewCube">
Defines whether to show ViewCube or not.
</member>
    <member name="M:OptionsPage.#ctor">
for the page created by addins.
</member>
    <member name="M:ServerPath.#ctor">
      <summary>
A path to a Revit model stored on a Revit server.
</summary>
    </member>
    <member name="M:FilePath.#ctor">
      <summary>
A path to a Revit model stored on disk.
</summary>
    </member>
    <member name="F:CMFCBaseTabCtrl.m_bReadyToDetach">
detachable bars support
</member>
    <member name="F:CDockablePane.m_sizeDragSensitivity">
how far the mouse is moved after NcLBtnDown before the bar becomes floating
</member>
    <member name="F:CMFCToolBar.m_bDontScaleImages">
      <summary> Specifies whether to scale or not toolbar images in high DPI mode.</summary>
    </member>
    <member name="M:CMFCToolBar.SetLockedSizes(tagSIZE,tagSIZE,System.Int32)">
      <summary>
Sets the sizes of locked buttons and locked images on the toolbar. </summary>
      <param name="sizeButton">Specifies the size of locked toolbar buttons. </param>
      <param name="sizeImage">Specifies the size of locked toolbar images. </param>
      <param name="bDontScale">Specifies whether to scale or not locked toolbar images in high DPI mode.</param>
    </member>
    <member name="M:CMFCToolBarImages.ConvertTo32Bits(System.UInt32!System.Runtime.CompilerServices.IsLong)">
      <summary>
Converts underlined bitmaps to 32 bpp images.</summary>
      <returns> TRUE if succeeds; otherwise FALSE.</returns>
      <param name="clrTransparent">Specifies transparent color of underlined bitmaps.</param>
    </member>
    <member name="M:CMFCToolBarImages.IsScaled">
      <summary>
Tells whether the underlined images are scaled or not.</summary>
      <returns> TRUE if underlined images are scaled; otherwise FALSE.</returns>
    </member>
    <member name="M:CMFCToolBarImages.GetScale">
      <summary>
Returns current scale ratio of underlined images.</summary>
      <returns> A value representing current scale ratio.</returns>
    </member>
    <member name="M:CMFCToolBarImages.SmoothResize(System.Double)">
      <summary> 
Smoothly resizes underlined images.</summary>
      <param name="dblScale"> Scale ratio.</param>
      <returns> TRUE if resize succeeds; otherwise FALSE.</returns>
    </member>
    <member name="M:CMFCToolBarImages.GetBitsPerPixel">
      <summary> Returns current resolution of underlined images.</summary>
      <returns> An integer value representing the current resolution of underlined images, in bits per pixel (bpp).</returns>
    </member>
    <member name="M:AFX_GLOBAL_DATA.ShellCreateItemFromParsingName(System.Char!System.Runtime.CompilerServices.IsConst*,IBindCtx*,_GUID!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,System.Void**)">
      <summary>
Creates and initializes a Shell item object from a parsing name.</summary>
      <param name="pszPath">[in] A pointer to a display name.</param>
      <param name="pbc">A pointer to a bind context that controls the parsing operation.</param>
      <param name="riid">A reference to an interface ID.</param>
      <param name="ppv">[out] When this function returns, contains the interface pointer requested in riid. This will typically be IShellItem or IShellItem2.</param>
      <returns>Returns S_OK if successful, or an error value otherwise. </returns>
    </member>
    <member name="M:AFX_GLOBAL_DATA.GetShellAutohideBars">
      <summary>
Determines positions of Shell auto hide bars.</summary>
      <returns> An integer value with encoded flags that specify positions of auto hide bars.
It may combine the following values: AFX_AUTOHIDE_BOTTOM, AFX_AUTOHIDE_TOP, AFX_AUTOHIDE_LEFT, 
AFX_AUTOHIDE_RIGHT.</returns>
    </member>
    <member name="F:AFX_GLOBAL_DATA.bIsWindows7">
      <summary>
Indicates whether the application is being executed under Windows 7 OS or higher</summary>
    </member>
    <member name="F:AFX_GLOBAL_DATA.clrInactiveCaptionGradient">
      <summary>
Specifies gradient color of inactive active caption. Generally used for docking panes. </summary>
    </member>
    <member name="F:AFX_GLOBAL_DATA.clrActiveCaptionGradient">
      <summary>
Specifies gradient color of active caption. Generally used for docking panes. </summary>
    </member>
    <member name="M:Gdiplus.Region.IsVisible(Gdiplus.PointF!System.Runtime.CompilerServices.IsConst*!System.Runtime.CompilerServices.IsImplicitlyDereferenced,Gdiplus.Graphics!System.Runtime.CompilerServices.IsConst*)">
Hit testing operations

</member>
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'M:Autodesk.Revit.UI.IExternalResourceUIServer.HandleLoadResourceResults(Autodesk.Revit.DB.Document,System.Collections.Generic.IList`1{Autodesk.Revit.DB.ExternalResourceLoadData})'. -->
    <!-- Discarding badly formed XML document comment for member 'M:Autodesk.Revit.UI.IExternalResourceUIServerProxy.HandleLoadResourceResults(Autodesk.Revit.DB.Document,System.Collections.Generic.IList`1{Autodesk.Revit.DB.ExternalResourceLoadData})'. -->
    <!-- Discarding badly formed XML document comment for member 'M:Autodesk.Revit.UI.RevitLinkUIUtils.ReportLinkLoadResults(Autodesk.Revit.DB.Document,System.Collections.Generic.IDictionary`2{System.String,Autodesk.Revit.DB.LinkLoadResult})'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <!-- Discarding badly formed XML document comment for member 'P:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs.DialogId'. -->
    <member name="M:Autodesk.Revit.UI.IControllableDropHandler.CanExecute(Autodesk.Revit.VSTA.DocumentEntryPoint,System.Object,Autodesk.Revit.DB.ElementId)">
      <summary>
Implement this method to inform Revit whether the drop event can be executed onto the given view.
</summary>
      <remarks>
Document modifications are not permitted from this callback.
</remarks>
      <param name="document">The document on which the data was dropped.</param>
      <param name="data">The data.</param>
      <param name="dropViewId">The view upon which the user will drop.</param>
      <returns> Return true to activate the target view and execute the drop. 
Return false to cancel the activation and the drop execution.</returns>
    </member>
    <member name="M:Autodesk.Revit.UI.IDropHandler.Execute(Autodesk.Revit.VSTA.DocumentEntryPoint,System.Object)">
      <summary>
Implement this method to handle the drop event for your data.
</summary>
      <param name="document">The document on which the data was dropped.</param>
      <param name="data">The data.</param>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.AddInCommandBinding.#ctor(Autodesk.Revit.UI.UIControlledApplication,Autodesk.Revit.UI.RevitCommandId)">
      <summary>Constructs a new AddInCommandBinding.</summary>
      <param name="uiApplication">The UI application. </param>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.AddInCommandBinding.#ctor(Autodesk.Revit.VSTA.ApplicationEntryPoint,Autodesk.Revit.UI.RevitCommandId)">
      <summary>Constructs a new AddInCommandBinding.</summary>
      <param name="uiApplication">The UI application. </param>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalCommandAvailability.IsCommandAvailable(Autodesk.Revit.UI.UIControlledApplication,Autodesk.Revit.DB.CategorySet)">
      <summary> Implement this method to provide control over whether your external command is enabled or disabled. </summary>
      <returns> Indicates whether Revit should enable or disable the corresponding external command. </returns>
      <remarks>
This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback
must be fast and is not permitted to modify the active document and be blocking in any way.
</remarks>
      <param name="applicationData"> An ApplicationServices.Application object which contains reference to Application
needed by external command. </param>
      <param name="selectedCategories"> An list of categories of the elements which have been selected in Revit in the active document, 
or an empty set if no elements are selected or there is no active document. </param>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalCommandAvailability.IsCommandAvailable(Autodesk.Revit.VSTA.ApplicationEntryPoint,Autodesk.Revit.DB.CategorySet)">
      <summary> Implement this method to provide control over whether your external command is enabled or disabled. </summary>
      <returns> Indicates whether Revit should enable or disable the corresponding external command. </returns>
      <remarks>
This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback
must be fast and is not permitted to modify the active document and be blocking in any way.
</remarks>
      <param name="applicationData"> An ApplicationServices.Application object which contains reference to Application
needed by external command. </param>
      <param name="selectedCategories"> An list of categories of the elements which have been selected in Revit in the active document, 
or an empty set if no elements are selected or there is no active document. </param>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.TransferredProjectStandards">
      <summary>
   Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized.
</summary>
      <remarks>
        <para>This event is raised just after the native Revit items have been transferred, but before the transaction has been committed.
   An add-in that registered external items in <see cref="E:Autodesk.Revit.UI.UIApplication.TransferringProjectStandards" /> should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer.
   During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.TransferredProjectStandards">
      <summary>
   Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized.
</summary>
      <remarks>
        <para>This event is raised just after the native Revit items have been transferred, but before the transaction has been committed.
   An add-in that registered external items in <see cref="E:Autodesk.Revit.UI.UIApplication.TransferringProjectStandards" /> should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer.
   During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.TransferringProjectStandards">
      <summary>
   Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog.
</summary>
      <remarks>
        <para>This event allows an external application to add additional items to the possible list of items to be transferred.
   These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer.
   During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.TransferringProjectStandards">
      <summary>
   Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog.
</summary>
      <remarks>
        <para>This event allows an external application to add additional items to the possible list of items to be transferred.
   These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer.
   During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable.</para>
      </remarks>
      <since>
   2017.2
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.FabricationPartBrowserChanged">
      <summary>
   Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated.
</summary>
      <remarks>
        <para>More docs about the different conditions goes here</para>
      </remarks>
      <since>
   2017
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.FabricationPartBrowserChanged">
      <summary>
   Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated.
</summary>
      <remarks>
        <para>More docs about the different conditions goes here</para>
      </remarks>
      <since>
   2017
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DockableFrameFocusChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be active or inactive.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.DockableFrameFocusChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be active or inactive.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DockableFrameVisibilityChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be shown or hidden.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.DockableFrameVisibilityChanged">
      <summary>
   Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface.
   This event is called only for API-created GenericDockableFrames.
</summary>
      <remarks>
        <para>This event is raised when the GenericDockableFrame is just about to be shown or hidden.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li>All overloads of Autodesk.Revit.DB.Document.Export()</li><li>All overloads of Autodesk.Revit.DB.Document.Import()</li><li>Autodesk::Revit::DB::Document::Print</li><li><see cref="M:Autodesk.Revit.DB.View.Print" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.PrintManager.SubmitPrint" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2015
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DisplayingOptionsDialog">
      <summary>
   Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.DisplayingOptionsDialog">
      <summary>
   Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ApplicationClosing">
      <summary>
   Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed.
</summary>
      <remarks>
        <para>This event is raised when the Revit application is just about to be closed.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The sender object of this event is <see cref="T:Autodesk.Revit.UI.UIControlledApplication" /> object.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.ApplicationClosing">
      <summary>
   Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed.
</summary>
      <remarks>
        <para>This event is raised when the Revit application is just about to be closed.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>No document may be modified at the time of the event.</para>
        <para>The sender object of this event is <see cref="T:Autodesk.Revit.UI.UIControlledApplication" /> object.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.Idling">
      <summary>
   Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction.
</summary>
      <remarks>
        <para>This event is raised when it is safe for the API application to access the active
   document between user interactions. The event is raised only when the Revit UI is
   in a state where the user could successfully click on an API command button.</para>
        <para>
   Handlers of this event are permitted to make modifications to any document (including the active document),
   except for documents that are currently in read-only mode.
   </para>
        <para>In order to change a document, you must begin a new transaction for that document.
   This transaction will appear in the Revit undo stack and may be undone by the Revit user.</para>
        <para>This event is invoked between user actions in the Revit UI. If the handler for
   this event requires a significant amount of processing time, users will perceive a slowdown
   in the responsiveness of Revit. If the execution for updates can be safely split across
   multiple calls to this event, the user perception of Revit responsiveness will be improved. </para>
        <para> There are two ways to use this event.  In the default mode, a single raise of the event
   will be made each time Revit begins an idle session.  Note that when the user is active in the Revit
   user interface, idle sessions begin whenever the mouse stops moving for a moment or when a
   command completes.  However, if the user is not active in the user interface at all, Revit may not invoke
   additional idling sessions for quite some time; this means that your application may not be able to take advantage
   of time when the user leaves the machine completely for a period of time.  </para>
        <para> In the non-default mode, your application forces Revit to keep the idling session open and to make
   repeated calls to your event subscriber.  In this mode even if the user is totally inactive the Revit
   session will continue to make Idling calls to your application.  However, this can result in performance
   degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling
   events during the Revit application's downtime.</para>
        <para> You can indicate the preference for the non-default Idling frequency by calling
   <see cref="M:Autodesk.Revit.UI.Events.IdlingEventArgs.SetRaiseWithoutDelay" />
   each time the Idling event callback is made.  Revit will revert to the default Idling frequency
   if this method is not called every time in your callback.</para>
        <para>Event is not cancellable. </para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.Idling">
      <summary>
   Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction.
</summary>
      <remarks>
        <para>This event is raised when it is safe for the API application to access the active
   document between user interactions. The event is raised only when the Revit UI is
   in a state where the user could successfully click on an API command button.</para>
        <para>
   Handlers of this event are permitted to make modifications to any document (including the active document),
   except for documents that are currently in read-only mode.
   </para>
        <para>In order to change a document, you must begin a new transaction for that document.
   This transaction will appear in the Revit undo stack and may be undone by the Revit user.</para>
        <para>This event is invoked between user actions in the Revit UI. If the handler for
   this event requires a significant amount of processing time, users will perceive a slowdown
   in the responsiveness of Revit. If the execution for updates can be safely split across
   multiple calls to this event, the user perception of Revit responsiveness will be improved. </para>
        <para> There are two ways to use this event.  In the default mode, a single raise of the event
   will be made each time Revit begins an idle session.  Note that when the user is active in the Revit
   user interface, idle sessions begin whenever the mouse stops moving for a moment or when a
   command completes.  However, if the user is not active in the user interface at all, Revit may not invoke
   additional idling sessions for quite some time; this means that your application may not be able to take advantage
   of time when the user leaves the machine completely for a period of time.  </para>
        <para> In the non-default mode, your application forces Revit to keep the idling session open and to make
   repeated calls to your event subscriber.  In this mode even if the user is totally inactive the Revit
   session will continue to make Idling calls to your application.  However, this can result in performance
   degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling
   events during the Revit application's downtime.</para>
        <para> You can indicate the preference for the non-default Idling frequency by calling
   <see cref="M:Autodesk.Revit.UI.Events.IdlingEventArgs.SetRaiseWithoutDelay" />
   each time the Idling event callback is made.  Revit will revert to the default Idling frequency
   if this method is not called every time in your callback.</para>
        <para>Event is not cancellable. </para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.DialogBoxShowing">
      <summary>
   Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to show a dialog box or a message box.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>Depending on the type of the dialog that is being shown, the event's argument's type varies as follows:
   When it is a dialog box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs" />.
   When it is a message box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.
   When it is a task dialog, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.</para>
        <para>No document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.DialogBoxShowing">
      <summary>
   Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to show a dialog box or a message box.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.</para>
        <para>Depending on the type of the dialog that is being shown, the event's argument's type varies as follows:
   When it is a dialog box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs" />.
   When it is a message box, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.MessageBoxShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.
   When it is a task dialog, the event's argument is an object of <see cref="T:Autodesk.Revit.UI.Events.TaskDialogShowingEventArgs" />,which is subclass of DialogBoxShowingEventArgs.</para>
        <para>No document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ViewActivated">
      <summary>
   Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document.
</summary>
      <remarks>
        <para>This event is raised immediately after Revit has finished activating a view of the document.
   It is raised even when view activating failed or was cancelled (during ViewActivating event).</para>
        <para>Check the 'Status' field in event's argument to see whether the action itself was successful or not.</para>
        <para>This event is not cancellable, for the process of view activating has already been finished.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.ViewActivated">
      <summary>
   Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document.
</summary>
      <remarks>
        <para>This event is raised immediately after Revit has finished activating a view of the document.
   It is raised even when view activating failed or was cancelled (during ViewActivating event).</para>
        <para>Check the 'Status' field in event's argument to see whether the action itself was successful or not.</para>
        <para>This event is not cancellable, for the process of view activating has already been finished.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above methods is called during this event.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.UI.UIControlledApplication.ViewActivating">
      <summary>
   Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to activate a view of the document.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.
   Your application is responsible for providing feedback to the user about the reason for the cancellation.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above
   methods is called during this event.</para>
        <para>Another <see cref="E:Autodesk.Revit.UI.UIApplication.ViewActivated" /> event will be raised immediately after view
   activating is finished.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="E:Autodesk.Revit.VSTA.ApplicationEntryPoint.ViewActivating">
      <summary>
   Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document.
</summary>
      <remarks>
        <para>This event is raised when Revit is just about to activate a view of the document.</para>
        <para>Event is not cancellable. The 'Cancellable' property of event's argument is always False.
   Your application is responsible for providing feedback to the user about the reason for the cancellation.</para>
        <para>The document may be modified during this event.</para>
        <para>The following API functions are not available for the current document during this event:
   <ul><li><see cref="M:Autodesk.Revit.DB.Document.Close" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.Save" /> and similar overloads.</li><li><see cref="M:Autodesk.Revit.DB.Document.SaveAs(System.String)" /> and similar overloads.</li></ul></para>
        <para>Exception <see cref="T:Autodesk.Revit.Exceptions.InvalidOperationException" /> will be thrown if any of the above
   methods is called during this event.</para>
        <para>Another <see cref="E:Autodesk.Revit.UI.UIApplication.ViewActivated" /> event will be raised immediately after view
   activating is finished.</para>
      </remarks>
      <since>
   2010
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.Application">
      <summary>
   Returns the database level Application represented by this UI level Application.
</summary>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.Application">
      <summary>
   Returns the database level Application represented by this UI level Application.
</summary>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.RegisterDockablePane(Autodesk.Revit.UI.DockablePaneId,System.String,Autodesk.Revit.UI.IDockablePaneProvider)">
      <summary>Adds a new dockable pane to the Revit user interface.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <param name="title">String to use for the pane caption.</param>
      <param name="provider">Your add-in's implementation of the IDockablePaneProvider interface.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if a dockable pane with identifier %id% has already been registered.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if DockPosition is Floating but no FloatingRectangle has been provided, or the FloatingRectangle is not larger than 3x3.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.RegisterDockablePane(Autodesk.Revit.UI.DockablePaneId,System.String,Autodesk.Revit.UI.IDockablePaneProvider)">
      <summary>Adds a new dockable pane to the Revit user interface.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <param name="title">String to use for the pane caption.</param>
      <param name="provider">Your add-in's implementation of the IDockablePaneProvider interface.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if a dockable pane with identifier %id% has already been registered.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if DockPosition is Floating but no FloatingRectangle has been provided, or the FloatingRectangle is not larger than 3x3.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.GetDockablePane(Autodesk.Revit.UI.DockablePaneId)">
      <summary>Gets a DockablePane object by its ID.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if no dockable pane has been registered with identifier %id%.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the dockable pane with identifier %id% has not been created yet.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.GetDockablePane(Autodesk.Revit.UI.DockablePaneId)">
      <summary>Gets a DockablePane object by its ID.</summary>
      <param name="id">Unique identifier for the new pane.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if no dockable pane has been registered with identifier %id%.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the dockable pane with identifier %id% has not been created yet.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.LoadPackageContents(System.String)">
      <summary>Loads add-ins from the given packageContents.xml file. </summary>
      <param name="packageContentsPath">The name of package contents file</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
packageContentsPath doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the add-in file path specified by 
packageContentsPath is null, Or packageContentsPath is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the add-in specified by packageContentsPath doesn't
end with 'addin' or packageContentsPath is a zero-length string.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileNotFoundException">Thrown if the packageContentsPath is not found.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file specified by packageContentsPath 
can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InternalException">Thrown if packageContentsPath file that was found could not 
be loaded.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.LoadPackageContents(System.String)">
      <summary>Loads add-ins from the given packageContents.xml file. </summary>
      <param name="packageContentsPath">The name of package contents file</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
packageContentsPath doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the add-in file path specified by 
packageContentsPath is null, Or packageContentsPath is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the add-in specified by packageContentsPath doesn't
end with 'addin' or packageContentsPath is a zero-length string.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileNotFoundException">Thrown if the packageContentsPath is not found.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file specified by packageContentsPath 
can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InternalException">Thrown if packageContentsPath file that was found could not 
be loaded.</exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.LoadAddIn(System.String)">
      <summary>Loads add-ins from the given manifest file. </summary>
      <remarks>
        <p>This method loads the add-ins listed in the provided add-in manifest file.  
The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.   </p>
        <p>Some add-ins may have settings in which they decline the ability for Revit to load the external application declared 
in the .addin in mid-session.  
This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag
isn't present, the default is set to "Yes". </p>
        <p> Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected 
because of the different interactions with the session.  Specifically:
<list type="bullet"><item>If the application's goal is to prevent something from happening, the application may not be able to handle
the fact that this activity has already happened in the existing session.</item><item> If the application's goal is to manage external information in synch with documents loaded in the session, 
the application may not be able to handle documents that were loaded before the application started.</item></list><item> If the application's logic depends on the ApplicationInitialized event, this event has already been called 
before the add-in was loaded.</item></p>
        <p>Also, some add-ins may not be able to fully initialize when loading in the middle of the session.  This is because some
activities must take place at the start of the Revit session:
<list type="bullet"><item>Creation of custom failure definitions</item><item>Establishment of a system-wide IFailureProcessor to handle all failures.</item><item>Registering ExternalServices.</item></list></p>
      </remarks>
      <param name="fileName">The name of the add-in manifest file including the extension is to identify the 
manifest file which contains Revit add-ins.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
fileName doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the fileName is null or empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the fileName doesn't end with 'addin'.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.LoadAddIn(System.String)">
      <summary>Loads add-ins from the given manifest file. </summary>
      <remarks>
        <p>This method loads the add-ins listed in the provided add-in manifest file.  
The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.   </p>
        <p>Some add-ins may have settings in which they decline the ability for Revit to load the external application declared 
in the .addin in mid-session.  
This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag
isn't present, the default is set to "Yes". </p>
        <p> Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected 
because of the different interactions with the session.  Specifically:
<list type="bullet"><item>If the application's goal is to prevent something from happening, the application may not be able to handle
the fact that this activity has already happened in the existing session.</item><item> If the application's goal is to manage external information in synch with documents loaded in the session, 
the application may not be able to handle documents that were loaded before the application started.</item></list><item> If the application's logic depends on the ApplicationInitialized event, this event has already been called 
before the add-in was loaded.</item></p>
        <p>Also, some add-ins may not be able to fully initialize when loading in the middle of the session.  This is because some
activities must take place at the start of the Revit session:
<list type="bullet"><item>Creation of custom failure definitions</item><item>Establishment of a system-wide IFailureProcessor to handle all failures.</item><item>Registering ExternalServices.</item></list></p>
      </remarks>
      <param name="fileName">The name of the add-in manifest file including the extension is to identify the 
manifest file which contains Revit add-ins.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when manifest file which is specified by 
fileName doesn't exist. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown if the fileName is null or empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown if the fileName doesn't end with 'addin'.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ApplicationException">Thrown if the manifest file can't be parsed successfully.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when any of the newly added external 
applications fails to load and/or initialize properly, possibly because of one of the following reasons:
<item>AllowLoadingIntoExistingSession property is 'No'.</item><item>Client id is duplicated.</item><item>External application start up failed.</item></exception>
      <since>2014</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.RemoveAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Removes an AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to remove the binding. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command is not bound with this add-in.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.RemoveAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Removes an AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to remove the binding. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command is not bound with this add-in.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CreateAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Creates a new AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CreateAddInCommandBinding(Autodesk.Revit.UI.RevitCommandId)">
      <summary>Creates a new AddInCommandBinding.</summary>
      <param name="revitCommandId">The Revit command id to identify the command handler you want to replace. </param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when uiApplication or revitCommandId
is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException"> 
Thrown when the given command already has been bound.
</exception>
      <since>2013</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.ActiveAddInId">
      <summary> Get current active external application or external command id. </summary>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.ActiveAddInId">
      <summary> Get current active external application or external command id. </summary>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.LoadedApplications">
      <summary> Returns an array of successfully loaded external applications. </summary>
      <remarks> This property can be used by your application to find all successfully
loaded external applications when Revit starts.</remarks>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.LoadedApplications">
      <summary> Returns an array of successfully loaded external applications. </summary>
      <remarks> This property can be used by your application to find all successfully
loaded external applications when Revit starts.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.GetRibbonPanels(System.String)">
      <summary> Get all the custom Panels on a designated Revit tab.</summary>
      <param name="tabName">The name of the tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. tabName must be the name of one of the tabs added 
by <see cref="M:Autodesk.Revit.UI.UIApplication.CreateRibbonTab(System.String)" />. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.GetRibbonPanels(System.String)">
      <summary> Get all the custom Panels on a designated Revit tab.</summary>
      <param name="tabName">The name of the tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. tabName must be the name of one of the tabs added 
by <see cref="M:Autodesk.Revit.UI.UIApplication.CreateRibbonTab(System.String)" />. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.GetRibbonPanels(Autodesk.Revit.UI.Tab)">
      <summary> Get all the custom Panels on a designated standard Revit tab.</summary>
      <param name="tab">The tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.GetRibbonPanels(Autodesk.Revit.UI.Tab)">
      <summary> Get all the custom Panels on a designated standard Revit tab.</summary>
      <param name="tab">The tab on which the panels are located.</param>
      <remarks> Built-in panels will not be included. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.GetRibbonPanels">
      <summary> Get all the custom Panels on Add-Ins tab of Revit.</summary>
      <remarks> The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.GetRibbonPanels">
      <summary> Get all the custom Panels on Add-Ins tab of Revit.</summary>
      <remarks> The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. 
This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CreateRibbonPanel(Autodesk.Revit.UI.Tab,System.String)">
      <summary> Create a new RibbonPanel on the designated standard Revit tab. </summary>
      <param name="tab">The target tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty or the tab is not valid.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created or the tab cannot be found. </exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CreateRibbonPanel(Autodesk.Revit.UI.Tab,System.String)">
      <summary> Create a new RibbonPanel on the designated standard Revit tab. </summary>
      <param name="tab">The target tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty or the tab is not valid.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created or the tab cannot be found. </exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros.</remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CreateRibbonPanel(System.String)">
      <summary> Create a new RibbonPanel on the Add-Ins tab. </summary>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created. </exception>
      <remarks> This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. </remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CreateRibbonPanel(System.String)">
      <summary> Create a new RibbonPanel on the Add-Ins tab. </summary>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">If more than 100 panels were created. </exception>
      <remarks> This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. </remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CreateRibbonPanel(System.String,System.String)">
      <summary> Create a new RibbonPanel on the specified tab. </summary>
      <param name="tabName">The name of the tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many panels have been added to this tab (Maximum is 100).</exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros. </remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CreateRibbonPanel(System.String,System.String)">
      <summary> Create a new RibbonPanel on the specified tab. </summary>
      <param name="tabName">The name of the tab, on which the new panel will be created.</param>
      <param name="panelName">The name of the panel to be created.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many panels have been added to this tab (Maximum is 100).</exception>
      <remarks> This method will create a custom panel appending to the specified tab. This method is not supported in Macros. </remarks>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CreateRibbonTab(System.String)">
This fils contails the Ribbons related methods which may need to be overrideed in subclasses.
<summary> Creates a new tab on the Revit user interface. </summary><param name="tabName">The name of the tab to be created.</param><exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception><exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.</exception><exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many custom tabs have been created in this session. (Maximum is 20).</exception><remarks> This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. </remarks><example><code lang="C#" source="..\..\..\RevitAdditions\Source\Addons\Snippets\CSharpSnippets\CS\Autodesk_Revit\CreateRibbonPanel.cs" region="Autodesk.Revit.UI.UIControlledApplication.CreateRibbonTab(System.String)" /><code lang="VB" source="..\..\..\RevitAdditions\Source\Addons\Snippets\VBNETSnippets\Autodesk_Revit\CreateRibbonPanel.vb" region="Autodesk.Revit.UI.UIControlledApplication.CreateRibbonTab(System.String)" /></example></member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CreateRibbonTab(System.String)">
This fils contails the Ribbons related methods which may need to be overrideed in subclasses.
<summary> Creates a new tab on the Revit user interface. </summary><param name="tabName">The name of the tab to be created.</param><exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">tabName or panelName is <see langword="null" />.</exception><exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.</exception><exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Too many custom tabs have been created in this session. (Maximum is 20).</exception><remarks> This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. </remarks></member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.PostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Posts the command to the Revit message queue to be invoked when control returns from the current API context. </summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the command cannot be posted. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   If there is a command already been posted.
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.PostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Posts the command to the Revit message queue to be invoked when control returns from the current API context. </summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the command cannot be posted. </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   If there is a command already been posted.
</exception>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.CanPostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Identifies if the given command can be posted, using <see cref="M:Autodesk.Revit.UI.UIApplication.PostCommand(Autodesk.Revit.UI.RevitCommandId)" />.</summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <remarks> Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. </remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.CanPostCommand(Autodesk.Revit.UI.RevitCommandId)">
      <summary> Identifies if the given command can be posted, using <see cref="M:Autodesk.Revit.UI.UIApplication.PostCommand(Autodesk.Revit.UI.RevitCommandId)" />.</summary>
      <param name="commandId"> The command Id.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when commandId is <see langword="null" />.</exception>
      <remarks> Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. </remarks>
      <since>
   2014
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.DoDragDrop(System.Object,Autodesk.Revit.UI.IDropHandler)">
      <summary>Initiates a drag and drop operation with a custom drop implementation.</summary>
      <param name="dropData">Any arbitrary data to be passed to the drop handler when the drop occurs.</param>
      <param name="handler">The handler to be executed when the drop occurs. </param>
      <remarks> When the user inputs <see cref="T:Autodesk.Revit.UI.IControllableDropHandler">IControllableDropHandler</see>,
it allows the handler to verify whether the drop event can be executed on the given view; 
When the user inputs <see cref="T:Autodesk.Revit.UI.IDropHandler">IDropHandler</see>
the handler will be executed without any condition.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData or handler is <see langword="null" />.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.DoDragDrop(System.Object,Autodesk.Revit.UI.IDropHandler)">
      <summary>Initiates a drag and drop operation with a custom drop implementation.</summary>
      <param name="dropData">Any arbitrary data to be passed to the drop handler when the drop occurs.</param>
      <param name="handler">The handler to be executed when the drop occurs. </param>
      <remarks> When the user inputs <see cref="T:Autodesk.Revit.UI.IControllableDropHandler">IControllableDropHandler</see>,
it allows the handler to verify whether the drop event can be executed on the given view; 
When the user inputs <see cref="T:Autodesk.Revit.UI.IDropHandler">IDropHandler</see>
the handler will be executed without any condition.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData or handler is <see langword="null" />.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.DoDragDrop(System.Collections.Generic.ICollection{System.String})">
      <summary>Initiates a drag and drop operation of a collection of file names on the Revit user interface.</summary>
      <remarks>The behavior after the 'dragData' dragged onto Revit is listed bellow:
<list type="bullet"><item> Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; </item><item> More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; </item><item> Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family;</item><item> More than one family files dragged onto Revit: all the families will be loaded;</item><item> More than one family files including other format files dragged onto Revit: Revit will try to open all the files;</item><item> If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception).</item></list></remarks>
      <param name="dropData">The list of file paths and names.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when dropData contains a file that doens't exist.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.DoDragDrop(System.Collections.Generic.ICollection{System.String})">
      <summary>Initiates a drag and drop operation of a collection of file names on the Revit user interface.</summary>
      <remarks>The behavior after the 'dragData' dragged onto Revit is listed bellow:
<list type="bullet"><item> Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; </item><item> More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; </item><item> Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family;</item><item> More than one family files dragged onto Revit: all the families will be loaded;</item><item> More than one family files including other format files dragged onto Revit: Revit will try to open all the files;</item><item> If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception).</item></list></remarks>
      <param name="dropData">The list of file paths and names.</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Thrown when dropData is <see langword="null" />.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">Thrown when dropData contains a file that doens't exist.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.OpenAndActivateDocument(Autodesk.Revit.DB.ModelPath,Autodesk.Revit.DB.OpenOptions,System.Boolean)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="modelPath">
   A path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <param name="openOptions">Options for opening the file.</param>
      <param name="bDetachAndPrompt">True means if openOptions specifies DoNotDetach,
   then for workshared models detach from central and query the user whether to preserve or discard worksets. 
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'modelPath'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'openOptions'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the modelPath is not a <see cref="T:Autodesk.Revit.DB.FilePath" /></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerCommunicationException">If there is any network communication error.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.CentralModelContentionException"> If the model is being accessed by other users.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerInternalException">If there is any server internal error.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.OpenAndActivateDocument(Autodesk.Revit.DB.ModelPath,Autodesk.Revit.DB.OpenOptions,System.Boolean)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="modelPath">
   A path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <param name="openOptions">Options for opening the file.</param>
      <param name="bDetachAndPrompt">True means if openOptions specifies DoNotDetach,
   then for workshared models detach from central and query the user whether to preserve or discard worksets. 
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'modelPath'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'openOptions'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">If the modelPath is not a <see cref="T:Autodesk.Revit.DB.FilePath" /></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerCommunicationException">If there is any network communication error.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.CentralModelContentionException"> If the model is being accessed by other users.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.RevitServerInternalException">If there is any server internal error.</exception>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.OpenAndActivateDocument(System.String)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="fileName">
   A full path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'fileName'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'fileName' cannot be found.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The given 'fileName' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <since>
   2012
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.OpenAndActivateDocument(System.String)">
      <summary>
  Opens and activates a Revit document.
</summary>
      <remarks>
   This method, if successful, changes the active document.
   It is not allowed to have an open transaction in the active document when calling this method.
   Consequently, this method can only be used in manual transaction mode, not in automatic mode.
   Additionally, this method may not be called from inside an event handler.
</remarks>
      <param name="fileName">
   A full path to a revit file to be opened.
   The file can be either a Revit project, template, or family document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If <see langword="null" /> is passed as 'fileName'.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.FileArgumentNotFoundException">
   The file specified by 'fileName' cannot be found.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The given 'fileName' is not a Revit file (a project, template, or family document).
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the active document is currently modifiable.</li>
          <li>If an API event handler is currently being executed.</li>
        </ul>
      </exception>
      <since>
   2012
</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.DrawingAreaExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of drawing area. </summary>
      <remarks>The drawing area of the Revit window displays views (and sheets and schedules) of the current project. 
The size of drawing area restricts the max size of the view windows.
If there is no project opened, null will be returned. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.DrawingAreaExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of drawing area. </summary>
      <remarks>The drawing area of the Revit window displays views (and sheets and schedules) of the current project. 
The size of drawing area restricts the max size of the view windows.
If there is no project opened, null will be returned. </remarks>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.MainWindowExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of Revit main window. </summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.MainWindowExtents">
      <summary>Get the rectangle that represents the screen pixel coordinates of Revit main window. </summary>
      <since>2011</since>
    </member>
    <member name="P:Autodesk.Revit.UI.UIControlledApplication.ActiveUIDocument">
      <summary>Provides access to an object that represents the currently active project.</summary>
      <remarks>External API commands can access this property in read-only mode only!
The ability to modify the property is reserved for future implementations.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when attempting to modify the property.</exception>
    </member>
    <member name="P:Autodesk.Revit.VSTA.ApplicationEntryPoint.ActiveUIDocument">
      <summary>Provides access to an object that represents the currently active project.</summary>
      <remarks>External API commands can access this property in read-only mode only!
The ability to modify the property is reserved for future implementations.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when attempting to modify the property.</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIApplication.#ctor(Autodesk.Revit.ApplicationServices.ControlledApplication)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.#ctor(Autodesk.Revit.ApplicationServices.Application)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.#ctor(Autodesk.Revit.ApplicationServices.Application)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.UpdateAllOpenViews">
      <summary>
   Update all open views in this document after elements have been changed, deleted, selected or de-selected.
   Graphics in the views are fully redrawn regardless of which elements have changed.
</summary>
      <remarks>
   This function should only rarely be needed, but might be required when working with graphics drawn from outside of Revit's transactions and elements,
   for example, when using <see cref="T:Autodesk.Revit.DB.DirectContext3D.IDirectContext3DServer" />.

   This function is potentially expensive as many views may be updated at once, including regeneration of view's geometry and redisplay of graphics.
   Thus for most situations it is recommended that API applications rely on the Revit application framework to update views more deliberately.
</remarks>
      <since>
   2018
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.GetPlacementTypes(Autodesk.Revit.DB.FamilySymbol,Autodesk.Revit.DB.View)">
      <summary>
   Get a collection of valid placement types for input family symbol.
</summary>
      <param name="familySymbol">
   The family symbol.
</param>
      <param name="pDBView">
   The view in which the family instance will be placed in.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.SaveAs(Autodesk.Revit.UI.UISaveAsOptions)">
      <summary>
   Saves the document to a file name obtained from the Revit user optionally prompting the user to overwrite file if it exists.
</summary>
      <remarks>
        <para>This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. </para>
   That also implies that this method cannot be called during dynamic updates.
</remarks>
      <param name="options">
   UI options for the SaveAs operation.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">
   SaveAs may not be called during dynamic update.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   Is not a primary document, it is a linked document.
   -or-
   SaveAs is temporarily disabled.
   -or-
   Thrown if there are any transactions, sub-transactions or transaction groups which
   were opened by the API code, and not closed. All of these items must be handled
   before attempting to save the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">
   Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event.
</exception>
      <since>
   2016
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.SaveAs">
      <summary>
   Saves the document to a file name obtained from the Revit user without prompting the user to overwrite file if it exists.
</summary>
      <remarks>
        <para>This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed.</para>
   That also implies that this method cannot be called during dynamic updates.
</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ForbiddenForDynamicUpdateException">
   SaveAs may not be called during dynamic update.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   Is not a primary document, it is a linked document.
   -or-
   SaveAs is temporarily disabled.
   -or-
   Thrown if there are any transactions, sub-transactions or transaction groups which
   were opened by the API code, and not closed. All of these items must be handled
   before attempting to save the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.OperationCanceledException">
   Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event.
</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.CanPlaceElementType(Autodesk.Revit.DB.ElementType)">
      <summary>
   Verifies that the user can be prompted to place the input element type on the current active view.
</summary>
      <param name="elementType">
   The ElementType.
</param>
      <returns>
   True if the user can be prompted to place the input element type on the active view, false otherwise.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PromptToMatchElementType(Autodesk.Revit.DB.ElementType)">
      <summary>
   Prompts the user to select elements to change them to the input type.
</summary>
      <remarks>
   This method uses its own transaction, so it's not permitted to be invoked in an active transaction.
   In a single invocation, the user can select multiple elements to be modified to the given type, until they finish.
</remarks>
      <param name="elementType">
   The ElementType applied to selected instances.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PromptToPlaceElementTypeOnLegendView(Autodesk.Revit.DB.ElementType)">
      <summary>
   Prompts the user to place an element type onto a legend view.
</summary>
      <remarks>
   This method works only for non-annotation element types.
   For annotations, use PromptForFamilyInstancePlacement(Autodesk::Revit::DB::FamilySymbol) instead.
   This method uses its own transaction, so it's not permitted to be invoked in an active transaction.
   The user is not permitted to change the active legend view or
   during this placement operation (the operation will be cancelled).
   In a single invocation, the user can place multiple instances of the input element type until they finish the
   placement (with Cancel or ESC or a click elsewhere in the UI).
</remarks>
      <param name="elementType">
   The ElementType of which instances are to be placed.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The input element type does not belong to a model-level category.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
   -or-
   Thrown when the active view isn't a legend view.
   -or-
   Can not create this kind of element in legend view.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)">
      <summary>
   Places a request on Revit's command queue for the user to place instances of the specified ElementType.  This does not execute immediately,
   but instead when control returns to Revit from the current API context.
</summary>
      <remarks>
   This method starts its own transaction.  In a single invocation, the user can place multiple instances of the input element type
   until they finish the placement (with Cancel or ESC or a click elsewhere in the UI).  This method invokes the UI when control returns
   from the current API context; because of this, the normal Revit UI options will be available to the user,  but the API will not be
   notified when the user has completed this action.  Because this request is queued to run at the end of the current API context,
   only one such request can be set (between this and the commands set by UIApplication.PostCommand()).  This differs from
   PromptForFamilyInstancePlacement() as that method can be run within the current API context, but the user is not permitted
   full access to the user interface options during placement.
</remarks>
      <param name="elementType">
   The ElementType of which instances are to be placed.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   The user cannot be prompted to place the input type on the active view.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PromptToPlaceViewOnSheet(Autodesk.Revit.DB.View,System.Boolean)">
      <summary>
   Prompts the user to place a specified view onto a sheet.
</summary>
      <remarks>
   This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
   In a single invocation, the user can place only one view onto the active sheet.
   The user is not permitted to change the active sheet view or the view to be placed
   during this placement operation (the operation will be cancelled).
   The user can cancel the placement operation by pressing Cancel or ESC or a click elsewhere in the UI.
</remarks>
      <param name="view">
   The view to insert onto a sheet.
</param>
      <param name="allowReplaceExistingSheetViewport">
   A indicator which allows the user to replace the existing viewport.
   <p>If true, the viewport representing this view will be replaced by the new viewport created during placement.
   If the view is allowed only to be on one sheet, this will remove the viewport from the old sheet.
   If the view is allowed to be on multiple sheets, and the view is currently placed on the active sheet,
   the old viewport on this sheet will be replaced. </p>
   If false, if the view is only allowed to be on one sheet,
   or if the view is allowed to be on multiple sheets but is already on the active sheet, an exception will be thrown.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   This view is a view template.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
   This document is not the currently active one.
   -or-
   Starting a new transaction is not permitted. It could be because
   another transaction already started and has not been completed yet,
   or the document is in a state in which it cannot start a new transaction.
   -or-
   The active view isn't a sheet where a view can be placed.
   -or-
   Thrown when replacing an existing viewport isn't allowed. See allowReplaceExistingSheetViewport parameter documentation for details.
</exception>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.GetSketchGalleryOptions(Autodesk.Revit.DB.FamilySymbol)">
      <summary>
   Gets the valid sketch gallery options of a family symbol.
</summary>
      <param name="familySymbol">
   The family symbol.
</param>
      <returns>
   The valid list of SketchGalleryOptions.
</returns>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
      <since>
   2017
</since>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.IsValidObject">
      <summary>
   Specifies whether the .NET object represents a valid Revit entity.
</summary>
      <remarks>
   If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone,
   a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects.
</remarks>
      <returns>
   True if the API object holds a valid Revit native object, false otherwise.
</returns>
      <since>
   2014
</since>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.ActiveGraphicalView">
      <summary>
   The currently active graphical view of the currently active document.
</summary>
      <remarks>
   This property is applicable to the currently active document only.
   Returns <see langword="null" /> if this document doesn't represent the active document.
</remarks>
      <since>
   2015
</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.GetOpenUIViews">
      <summary>Get a list of all open view windows in the Revit user interface.</summary>
      <remarks>A sheet view with an activated viewport will return the view associated with the activated viewport, not the sheet view.</remarks>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.Application">
      <summary> Retrieves an object that represents the current Application.</summary>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PromptForFamilyInstancePlacement(Autodesk.Revit.DB.FamilySymbol,Autodesk.Revit.UI.PromptForFamilyInstancePlacementOptions)">
      <summary>Prompts the user to place instances of the specified FamilySymbol.</summary>
      <param name="familySymbol">The FamilySymbol.</param>
      <param name="options">The PromptForFamilyInstancePlacementOptions, to place the family instance according to the options.</param>
      <remarks>
        <p>This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
In a single invocation, the user can place multiple instances of the input family type until they finish the 
placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. 
Users are not permitted to change the active view during this placement operation (the operation will be completed).
</p>
        <p>This method differs from <see cref="M:Autodesk.Revit.UI.UIDocument.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)" /> in that it will execute immediately
within the current API context and return to the application when the user completes or cancels the operation.  However,
it does not allow the user access to user interface options and settings related to the placement. </p>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Thrown when 
the family symbol should be of category OST_DuctTerminal because PlaceAirTerminalOnDuct in options is true,
or the sketch gallery options in options is invalid,
or the placement type for the family symbol in options is invalid.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when 
this API method is invoked in an active transaction,
or this document is not active, 
or this is a family document and the instances of this family symbol can not exist in the current family, 
or this family symbol has no command to create instance, 
or the command to create instance is disabled in active view.</exception>
      <since>2015</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.PromptForFamilyInstancePlacement(Autodesk.Revit.DB.FamilySymbol)">
      <summary>Prompts the user to place instances of the specified FamilySymbol.</summary>
      <param name="familySymbol">The FamilySymbol.</param>
      <remarks>
        <p>This method opens its own transaction, so it's not permitted to be invoked in an active transaction.
In a single invocation, the user can place multiple instances of the input family type until they finish the 
placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. 
Users are not permitted to change the active view during this placement operation (the operation will be completed).
</p>
        <p>This method differs from <see cref="M:Autodesk.Revit.UI.UIDocument.PostRequestForElementTypePlacement(Autodesk.Revit.DB.ElementType)" /> in that it will execute immediately
within the current API context and return to the application when the user completes or cancels the operation.  However,
it does not allow the user access to user interface options and settings related to the placement. </p>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown when 
this API method is invoked in an active transaction,
or this document is not active, 
or this is a family document and the instances of this family symbol can not exist in the current family, 
or this family symbol has no command to create instance, 
or the command to create instance is disabled in active view.</exception>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.RequestViewChange(Autodesk.Revit.DB.View)">
      <summary>
   Requests an asynchronous change of the active view in the currently active document.
</summary>
      <param name="view">The View.</param>
      <since>2015</since>
      <remarks>
        <para>This method requests to change the active view by posting a message asynchronously. 
   Unlike setting the <see cref="P:Autodesk.Revit.UI.UIDocument.ActiveView" /> property, 
   this will not make the change in active view immediately. Instead the request will be posted 
   to occur when control returns to Revit from the API context. This method is permitted to change 
   the active view from the Idling event or an ExternalEvent callback.</para>
        <para>The active view cannot be changed when:
   <ul><li>There is an open transaction in the currently active document.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsModifiable" /> is true.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsReadOnly" /> is true.</li><li>ViewActivating, ViewActivated, or any pre-event (such as DocumentSaving) is being handled.</li></ul></para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   If the 'view' argument is NULL.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
        <ul>
          <li>If the given view is not a valid view of the document; -or-</li>
          <li>If the given view is a template view; -or-</li>
          <li>If the given view is an internal view.</li>
        </ul>
      </exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <ul>
          <li>If the given view is not from the currently active document; -or-</li>
          <li>If the active document is currently modifiable (i.e. with an active transaction); -or-</li>
          <li>If the active document is currently in read-only state; -or-</li>
          <li>During either ViewActivating or ViewActivated event; -or-</li>
          <li>During any pre-action kind of event, such as DocumentSaving, etc.</li>
        </ul>
      </exception>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.Document">
      <summary>Returns the database level document represented by this UI-level document.</summary>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.ActiveView">
      <summary>
   The currently active view of the currently active document.
</summary>
      <since>2012</since>
      <remarks>
        <para>This property is applicable to the currently active document only.
         Returns <see langword="null" /> if this document doesn't represent the active document.</para>
        <para>The active view can only be changed when:
   <ul><li>There is no open transaction.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsModifiable" /> is false.</li><li><see cref="P:Autodesk.Revit.DB.Document.IsReadOnly" /> is false.</li><li>ViewActivating, ViewActivated, and any pre-action of events (such as DocumentSaving or DocumentClosingevents) are not being handled.</li></ul></para>
      </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   When setting the property: If the 'view' argument is NULL.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
 When setting the property:
 <ul><li>If the given view is not a valid view of the document; -or-</li><li>If the given view is a template view; -or-</li><li>If the given view is an internal view.</li></ul></exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
        <para>When setting the property:
   <ul><li>If the document is not currently active; -or-</li><li>If the document is currently modifiable (i.e. with an active transaction); -or-</li><li>If the document is currently in read-only state; -or-</li><li>When invoked during either ViewActivating or ViewActivated event; -or-</li><li>When invoked during any pre-action kind of event, such as DocumentSaving, DocumentClosing, etc.</li></ul></para>
      </exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.RefreshActiveView">
      <summary>Refresh the display of the active view in the active document.</summary>
      <since>2011</since>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.ShowElements(System.Collections.Generic.ICollection{Autodesk.Revit.DB.ElementId})">
      <summary>Shows the elements by zoom to fit.</summary>
      <param name="elementIds">The set of element ids which will be shown.</param>
      <remarks>Places all the elements on the screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">elementIds is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elementIds is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elementIds is not valid.</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.ShowElements(Autodesk.Revit.DB.ElementSet)">
      <summary>Shows the elements by zoom to fit.</summary>
      <param name="elements">The set of elements that will be shown.</param>
      <remarks>Places all the elements on the screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Elements is null.</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Member of elements is null.</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.ShowElements(Autodesk.Revit.DB.Element)">
      <summary>Shows the element by zoom to fit.</summary>
      <param name="element">Element that will be shown.</param>
      <remarks>Places the element in the center of screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">Element is null.</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.ShowElements(Autodesk.Revit.DB.ElementId)">
      <overloads>Shows one or more elements by zoom to fit.</overloads>
      <summary>Shows the element by zoom to fit.</summary>
      <param name="elementId">Element id that will be shown.</param>
      <remarks>Places the element in the center of screen by moving the view.</remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">Element id is not valid.</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.SaveAndClose">
      <summary>Close the document, prompting the user for saving it when necessary.</summary>
      <returns>False if closing procedure fails or if saving of a modified document was requested but failed. 
Also returns False if closing is cancelled by an external application during 'DocumentClosing' event. 
When function succeeds, True is returned.</returns>
      <remarks>UI dialogs may be shown during the call (e.g. when the document has been changed since last time it was saved) to get user responses.
The currently active document may not be closed by this function. It can only be closed via Revit's UI. </remarks>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">
Thrown when attempting to close the currently active document.
Thrown if there are any transactions, sub-transactions or transaction groups which 
were opened by the API code, and not closed. All of these items must be handled 
before attempting to close the document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown if this a linked file.</exception>
    </member>
    <member name="P:Autodesk.Revit.VSTA.DocumentEntryPoint.Selection">
      <summary>Retrieve the currently selected Elements in Autodesk Revit.</summary>
      <remarks>Returns an object that represents the active selection. The Selection property returns an
object that represents the active selection when the command was started.</remarks>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.GetRevitUIFamilyLoadOptions">
      <summary>Return the option object that allows you to use Revit's dialog boxes to let the user respond to questions that arise during loading of families. </summary>
      <exception cref="T:Autodesk.Revit.Exceptions.InvalidOperationException">Thrown if 
this API method is invoked in UI less mode</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.DocumentEntryPoint.#ctor(Autodesk.Revit.DB.Document)">
      <summary>
   Use a database level Document to construct a UI-level Document.
</summary>
      <param name="document">
   The database level document.
</param>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentException">
   document is not a primary document, it is a linked document.
</exception>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalEventHandler.Execute(Autodesk.Revit.UI.UIControlledApplication)">
      <summary>
   This method is called to handle the external event.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.IExternalEventHandler.Execute(Autodesk.Revit.VSTA.ApplicationEntryPoint)">
      <summary>
   This method is called to handle the external event.
</summary>
      <since>
   2013
</since>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.#ctor(Autodesk.Revit.ApplicationServices.ControlledApplication)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.#ctor(Autodesk.Revit.ApplicationServices.ControlledApplication)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.UI.UIControlledApplication.#ctor(Autodesk.Revit.ApplicationServices.ControlledApplication)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
    <member name="M:Autodesk.Revit.VSTA.ApplicationEntryPoint.#ctor(Autodesk.Revit.ApplicationServices.ControlledApplication)">
      <summary>
   Use a database level Application to construct a UI-level Application.
</summary>
      <exception cref="T:Autodesk.Revit.Exceptions.ArgumentNullException">
   A non-optional argument was NULL
</exception>
    </member>
  </members>
</doc>