========================
GLoad (hwx.inspire.core)
========================

BoundaryCondition object storing g-load direction and magnitude.

Absence of a GLoad object in a LoadCase signifies no g-load.
GLoads are used to simulate a model undergoing acceleration,
which imparts a force on all of the parts in the model.

----------
Attributes
----------

  +---------------------------+---------------------------+---------------------------+
  | active_: Bool             | color_: Color             | connectionRadius_: Double |
  +---------------------------+---------------------------+---------------------------+
  | connectionType_: Enum     | direction_: Direction     | distributed_: Bool        |
  +---------------------------+---------------------------+---------------------------+
  | features_: Attribute      | localToPart_: Bool        | location_: Location       |
  +---------------------------+---------------------------+---------------------------+
  | magnitude_: Double        | mode_: Enum               | name_: Attribute          |
  +---------------------------+---------------------------+---------------------------+
  | part_: Attribute          | parts_: Attribute         | visible_: Bool            |
  +---------------------------+---------------------------+---------------------------+

--------------
Public Methods
--------------

  +-----------------------------------------------------------------------+
  | classmethod getClass_ (cls, className)                                |
  +-----------------------------------------------------------------------+
  | classmethod importLoads_ (cls, csvFile)                               |
  +-----------------------------------------------------------------------+
  | __new__ (cls, location, direction, magnitude=None, **kwds)            |
  +-----------------------------------------------------------------------+
  | destroy_ (self)                                                       |
  +-----------------------------------------------------------------------+
  | getAllChildren_ (self, type=None, **kwds)                             |
  +-----------------------------------------------------------------------+
  | getChild_ (self, name=None, recursive=False, **kwds)                  |
  +-----------------------------------------------------------------------+
  | getChildren_ (self, type=None, recursive=False, sorted=False, **kwds) |
  +-----------------------------------------------------------------------+
  | getDependents_ (self, recursive=False, **kwds)                        |
  +-----------------------------------------------------------------------+
  | getReferences_ (self, recursive=False, **kwds)                        |
  +-----------------------------------------------------------------------+
  | isa_ (self, type=None, filter=None, name=None, wildcard=None, **kwds) |
  +-----------------------------------------------------------------------+
  | modelPositions_ (self)                                                |
  +-----------------------------------------------------------------------+
  | updatePosition_ (self, m44)                                           |
  +-----------------------------------------------------------------------+

-----------------
Attribute Details
-----------------

.. _active:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
active : :ref:`Bool <Bool (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Returns or sets the object activeness.

Setting this on or off sets all children.
Setting to True sets all the parents active too.

.. _color:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
color : :ref:`Color <Color (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The color assigned to the boundary condition.

.. _connectionRadius:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
connectionRadius : :ref:`Double <Double (hwx.inspire)>` (units="length")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The search radius for the boundary condition.

.. _connectionType:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
connectionType : :ref:`Enum <Enum (hwx.inspire)>` (rigid, flexible)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The type of the connection. Valid choices are:

- rigid
- flexible

.. _direction:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
direction : :ref:`Direction <Direction (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The direction of vector the boundary condition.

.. _distributed:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
distributed : :ref:`Bool <Bool (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Returns whether the applied boundary condition is distributed or not.

Boundary conditions applied across the entire feature area (for faces) or length
(for edges) are distributed and at a single point boundary conditions are
non-distributed.

.. _features:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
features : :ref:`Attribute <Attribute (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The list of features to which the boundary condition is applied.

.. _localToPart:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
localToPart : :ref:`Bool <Bool (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Returns or sets 'Rotate with part'.

It makes boundary condition not to rotate or rotate along with its associated part.

.. _location:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
location : :ref:`Location <Location (hwx.inspire)>` (units="length")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The location of the boundary condition.

.. _magnitude:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
magnitude : :ref:`Double <Double (hwx.inspire)>` (units="acceleration")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The magnitude of the GLoad.

.. _mode:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mode : :ref:`Enum <Enum (hwx.inspire)>` (direction, components)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Specifies the mode of the boundary condition.

Valid choices are:

  - direction
  - components

.. _name:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
name : :ref:`Attribute <Attribute (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Returns or sets the name of the object.

It can be any text string, including spaces, although it's best to avoid
using the following characters: " ' * ? and $.

While these characters are allowed, they could create difficulties when
you export the model to other applications.

.. _part:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
part : :ref:`Attribute <Attribute (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Returns the part on which the entity is applied graphically.

.. _parts:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
parts : :ref:`Attribute <Attribute (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


The list of parts on which the boundary condition is applied.

.. _visible:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
visible : :ref:`Bool <Bool (hwx.inspire)>`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Determines whether the boundary condition is visible or not.


--------------
Method Details
--------------

.. _getClass:
.. classmethod:: getClass(cls, className)

Returns the class of the object.

It can be simple or qualified (with namespace). If the name is simple, we
prepend the cls.namespace.

:param className: The class name.
:type className: Union[Part, Occurrence, Named..]

:returns: The class for the specified className.
:rtype: Union[Part, Occurrence, Named..]


.. _importLoads:
.. classmethod:: importLoads(cls, csvFile)

Imports boundary conditions to the active model from a csv file.

:param csvFile: Csv file name containing all the BC information.
:type csvFile: str

:returns: List of error msgs that happened during import of all the boundary conditions.
:rtype: list


.. ___new__:
.. method:: __new__(cls, location, direction, magnitude=None, **kwds)

Create gravity load for model, at supplied location and direction.

:param location: Location of gravity load.
:type location: Point
:param direction: Direction of gravity load.
:type direction: Vector
:param magnitude: Magnitude of load
:type magnitude: float
:param \*\*kwds: To set other attributes to gravity load. e.g.: color="red".

:returns: Returns the created gravity load.
:rtype: GLoad


.. _destroy:
.. method:: destroy(self)

Delete the object removing it from the model.

The object may come back due to an undo/redo.

.. _getAllChildren:
.. method:: getAllChildren(self, type=None, **kwds)

Returns a list of all children that matches the specified type.

:param type: Filter to use to get the children based on object type.
:type type: list[Named]
:param \*\*kwds: Additional keyword arguments to match other attributes of the object.

:returns: The list of children that satisfy the supplied filters.
:rtype: list[Union[Part, Motor, BoundaryCondition, ...]]


.. _getChild:
.. method:: getChild(self, name=None, recursive=False, **kwds)

Returns the child of the object which matches the specified unique name.

:param name: The name of the child object.
:type name: str
:param recursive: Search all descendents.
:type recursive: bool
:param \*\*kwds: Additional keyword arguments to match attributes of the object.

:returns: The child object which satisfies the specified filters.
:rtype: Named


.. _getChildren:
.. method:: getChildren(self, type=None, recursive=False, sorted=False, **kwds)

Returns a list of children that is of the specified type.

:param type: Filter objects by class.
:type type: Type[Named]
:param recursive: True to get all descendent Parts and Assemblies.
:type recursive: bool
:param sorted: Sort the children base on id.
:type sorted: bool

:returns: list[Named]


.. _getDependents:
.. method:: getDependents(self, recursive=False, **kwds)

Get objects that reference this object through a Reference attribute.

:param recursive:
:type recursive: bool
:param \*\*kwds: Filter objects using isa.

:returns: set[Named]


.. _getReferences:
.. method:: getReferences(self, recursive=False, **kwds)

Get objects this object references through a Reference attribute.

:param recursive:
:type recursive: bool
:param \*\*kwds: Filter objects using isa.

:returns: set[Named]


.. _isa:
.. method:: isa(self, type=None, filter=None, name=None, wildcard=None, **kwds)

Determines if the object matches the specified settings or not.

:param type: The type of the object.
:type type: Union[Part, Assembly, Contact..]
:param filter: Return value of specified callback method.
:type filter: method
:param name: Name that matches exactly with object name.
:type name: str
:param wildcard: A pattern to match exactly with the object name.
:type wildcard: str
:param \*\*kwds: Additional keyword arguments to match other attributes.

:returns: True, if a match is found, otherwise False.
:rtype: bool


.. _modelPositions:
.. method:: modelPositions(self)

Forces all objects to return the original model positions instead of the
current analysis positions.

Useful when defining draw methods on GeneralObjects where behaviour is
different while animating.

.. _updatePosition:
.. method:: updatePosition(self, m44)

Sets the design space positions of all the inspire parts to their
position in the current analysis frame.