Extension CategoriesΒΆ
Each extension provided with Bana is written to answer a specific need belonging to one of these categories:
- explicit
- Maya’s implementation was deemed ambiguous possibly because of a lack of well-defined specification or documentation.
- fix
- A specific method needs to be modified but creating a new method prefixed
with
bn
isn’t an option. Therefore, the original method is fixed in place by being replaced. This approach is only used for magic methods such as__str__()
and__hash__()
. - foundation
- The extension is considered as a fundamental functionality that is missing from Maya’s API.
- MScriptUtil
- The original method needs to be wrapped to abstract away the used of the
maya.OpenMaya.MScriptUtil
class. Some of these methods are marked as not implemented to document a better alternative approach. - no throw
- By default, exceptions are being thrown whenever a method returns a
maya.OpenMaya.MStatus
object with a value that is notkSuccess
. This is not justified in cases where it is acceptable that the call to a method might or might not output a valid result. For example, it is expected for aMFn*
class instance to fail accessing itsmaya.OpenMaya.MObject
object if the function set hasn’t been fully initialized yet, this doesn’t have to be considered as an error. A better suited return value here isNone
since it carries the information that no valid object can be retrieved at the moment, while being even more convenient to check validity against.
Note
The category for a specific extension can be found in the documentation associated with that extension.