# Factory

class `Factory` : public HPS::Sprocket

  The Factory class is used to create and query Sprocket objects.

  Public Static Functions

  static Canvas `CreateCanvas`(char const *in_name = "", HPS::StandAloneWindowOptionsKit const &in_options = HPS::StandAloneWindowOptionsKit())

    Creates a new Canvas.

    Parameters: | in_name – An optional name associated with this Canvas. in_options – An StandAloneWindowOptionsKit used to specify the driver to be used by the canvas, and whether it will support anti-aliasing. Note: This is not supported on Android, iOS or macOS as this uses standalone windows and on these operating systems all GUI / windowing is controlled at the application level.
    Returns: | The newly created Canvas.

  static Canvas `CreateCanvas`(HPS::WindowHandle in_window_handle, char const *in_name = "", HPS::ApplicationWindowOptionsKit const &in_options = HPS::ApplicationWindowOptionsKit())

    Creates a new Canvas.

    Parameters: | in_window_handle – The window handle associated with this Canvas. in_name – An optional name associated with this Canvas. in_options – An ApplicationWindowOptionsKit used to specify the driver to be used by the canvas, and whether it will support anti-aliasing.
    Returns: | The newly created Canvas.

  static Canvas `CreateCanvas`(HPS::WindowKey const &in_window_key, HPS::PortfolioKey const &in_portfolio_key = HPS::PortfolioKey(), char const *in_name = "")

    Creates a new Canvas.

    Parameters: | in_window_key – The window key associated with this Canvas. in_portfolio_key – Key to the portfolio to be associated with this Canvas. in_name – An optional name associated with this Canvas.
    Returns: | The newly created Canvas.

  static Component `CreateComponent`(Component const &in_owner, char const *in_name = "")

    Creates a new Component.

    Parameters: | in_owner – The owner of the component being created in_name – An optional name associated with this Component.
    Returns: | The newly created Component.

  static Layout `CreateLayout`(char const *in_name = "")

    Creates a new Layout.

    Parameters: | in_name – An optional name associated with this Layout.
    Returns: | The newly created Layout.

  static Model `CreateModel`(char const *in_name = "")

    Creates a new Model.

    Parameters: | in_name – An optional name associated with this Model.
    Returns: | The newly created Model.

  static View `CreateView`(char const *in_name = "")

    Creates a new View.

    Parameters: | in_name – An optional name associated with this View.
    Returns: | The newly created View.

  static Component `DeInstanceComponent`(ComponentPath const &in_component_path)

    Returns the component at whose level changes can be made without influencing other instances of the same component. The details vary on whether this function operates on Parasolid or Exchange components. See the comments on Exchange::Factory::DeInstanceComponent and Parasolid::Factory::DeInstanceComponent for details.

    Parameters: | in_component_path – The ComponentPath to operate on.
    Returns: | The newly de-instanced Component.

  static CADModelArray `GetCADModels`()

    Get a list of all active CADModels (i.e. CADModels that have been created and not deleted)

    Returns: | A list of active CADModels.

  static CanvasArray `GetCanvases`()

    Get a list of all active Canvases (i.e. Canvases that have been created and not deleted)

    Returns: | A list of active Canvases.

  static LayoutArray `GetLayouts`()

    Get a list of all active Layouts (i.e. Layouts that have been created and not deleted)

    Returns: | A list of active Layouts.

  static ModelArray `GetModels`()

    Get a list of all active Models (i.e. Models that have been created and not deleted)

    Returns: | A list of active Models.

  static ViewArray `GetViews`()

    Get a list of all active Views (i.e. Views that have been created and not deleted)

    Returns: | A list of active Views.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...