|
| | WEMProcessor (std::string type="WEMProcessor", bool useInput=true, int numInImages=0, int numOutImages=0, std::string inWEMFieldName="inWEM") |
| | Standard constructor.
|
| |
| | WEMGenerator (std::string type="WEMGenerator", int numInImages=0, int numOutImages=0, bool shouldGenerateApplyField=true) |
| | Standard constructor.
|
| |
| | WEMModule (std::string type="WEMModule", int numInImages=0, int numOutImages=0) |
| | Standard constructor.
|
| |
| std::string | getType () |
| | Returns the type of the WEMGenerator.
|
| |
| MLMetaProfilePtr & | getMetaProfile () const |
| | Returns the metaprofile for the base operator.
|
| |
| const char * | getTypeNameFast () const |
| | Macro to declare methods for the ML runtime type system (see mlRuntimeSubClass.h).
|
| |
| | Module (int numInputImages, int numOutputImages) |
| | Constructor: Initializes numInputImages input images and numOutputImages output images of the module.
|
| |
| | ~Module () override |
| | Destructor: Destroys this module.
|
| |
| InputConnectorField * | getInputImageField (MLint i) const |
| | Returns the field representing input image i. i must be a valid index.
|
| |
| OutputConnectorField * | getOutputImageField (MLint i=0) const |
| | Returns the field representing output image i. i must be a valid index.
|
| |
| MLint | getNumInputImages () const |
| | Returns the number of input images of this module.
|
| |
| MLint | getNumOutputImages () const |
| | Returns the number of output images of this module.
|
| |
| PagedImage * | getOutputImage (MLint outputIndex=0) const |
| | Returns the output image outputIndex. The index needs to be in the range [0, getNumOutputImages()-1].
|
| |
| InputConnectorField * | addInputImage (const char *name=nullptr) |
| | Adds a new input image with name to the module.
|
| |
| OutputConnectorField * | addOutputImage (const char *name=nullptr) |
| | Adds a new output image with name to the module.
|
| |
| PagedImage * | getInputImage (MLint inputIndex, bool getReal=false) const |
| | Returns the output image of the module connected to input inputIndex.
|
| |
| PagedImage * | getUpdatedInputImage (MLint inputIndex, bool getReal=false) const |
| | Convenience method for a safe access to the input image at index inputIndex.
|
| |
| MLErrorCode | processAllPages (int outputIndex=-1, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| | Processes all pages of a module for easy implementation of page-based image processing of complete images.
|
| |
| MLErrorCode | processAllPages (ProcessAllPagesHandler &handler, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| | Processes input images with a ProcessAllPagesHandler handler on a temporary output image (which allocates no data).
|
| |
| MLErrorCode | processMissingPages (int outputIndex=0, SubImageBox region=SubImageBox(), MLRequestProgressCB *progressCallback=nullptr, void *progressCallbackUserData=nullptr) |
| | Processes all missing pages on the given output image.
|
| |
| void | clearOutputImage (MLint i=0) |
| | Clears cached output image pages of output image i.
|
| |
| MLint | getOutputImageInplace (MLint outputIndex=0) const |
| | Returns the optimization flag: returns the index of input image whose input tile is used also as output page for output outputIndex in calculateOutputSubImage() (instead of allocating its own memory).
|
| |
| MLint | getBypass (MLint outputIndex=0) const |
| | Returns the currently bypass index or -1 if bypassing if disabled (default).
|
| |
| THREAD_SUPPORT | getThreadSupport () const |
| | Returns the multithreading mode supported by this module, default is NO_THREAD_SUPPORT.
|
| |
| bool | areRecursiveHandleNotificationsPermitted () const |
| | Returns whether recursive entries in handleNotification are permitted.
|
| |
| MLint | getHandleNotificationEntryCounter () const |
| | A counter returning the current number of (recursive re-)entries in handleNotification.
|
| |
| PERMITTED_TYPES | getVoxelDataTypeSupport () const |
| | Returns the current state of supported voxel datatypes.
|
| |
| bool | isSupportedVoxelDataType (MLDataType dt) const |
| | Checks whether a given data type is supported on the module as configured with setVoxelDataTypeSupport.
|
| |
| virtual INPUT_HANDLE | handleInput (int, INPUT_STATE) const |
| | This method may be reimplemented to enable support for invalid input images on the module.
|
| |
| INPUT_STATE | getInputState (MLint index) |
| | Returns the current state of the input connection.
|
| |
| INPUT_STATE | getUpdatedInputState (MLint index) |
| | Returns the updated state of the input image by calling updateImageProperties(index) and returning getInputState(index) afterwards.
|
| |
| bool | isInputImageField (Field *field) const |
| | Returns whether the given field is an input image field.
|
| |
| void | touchOutputImageFields () const |
| | Touches all output image fields to indicate that the images have changed.
|
| |
| virtual void | beginSaveFields () |
| | Called before all fields data contents of this modules are saved.
|
| |
| virtual void | endSaveFields () |
| | Called after saving all field contents of this module.
|
| |
| | FieldContainer () |
| | Constructor.
|
| |
| | ~FieldContainer () override |
| | Destructor: Deletes all added fields.
|
| |
| std::string | whoAmI (bool withInstanceName=true) const |
| | Returns the type and the instance name of format 'ClassTypeName(instanceName)' if the instance name is not empty and withInstanceName is true.
|
| |
| Field * | addField (const char *name, const char *type, const char *value) |
| | Adds a new field with name name, type type, and value value (encoded as string) to the container.
|
| |
| Field * | addField (Field *field) |
| | Adds a field, the ownership of the field is passed to the FieldContainer.
|
| |
| BoolField * | addBool (const char *name) |
| | Creates a BoolField with name and adds it to the container. Default value is false.
|
| |
| BoolField * | addBool (const char *name, bool value) |
| | Creates a BoolField with name and adds it to the container.
|
| |
| IntField * | addInt (const char *name) |
| | Creates an IntField with name and adds it to the container. Default value is 0.
|
| |
| IntField * | addInt (const char *name, MLint value) |
| | Creates an IntField with name and adds it to the container.
|
| |
| EnumField * | addEnum (const char *name, const char *const *enumerationItemNames, MLint numEnumerationItems) |
| | Creates an EnumField field with name and adds it to the container.
|
| |
| EnumField * | addEnum (const char *name, const std::vector< std::string > &enumerationItemNames) |
| | Creates an EnumField field with name and adds it to the container.
|
| |
| template<typename EnumType > |
| TypedEnumField< EnumType > * | addEnum (const char *name, const EnumValues< EnumType > &values, EnumType initialValue) |
| | Creates a TypedEnumField field with name and adds it to the container.
|
| |
| FloatField * | addFloat (const char *name) |
| | Creates a FloatField with name and adds it to the container. Default value is 0.f.
|
| |
| FloatField * | addFloat (const char *name, float value) |
| | Creates a FloatField with name and adds it to the container.
|
| |
| ProgressField * | addProgress (const char *name) |
| | Creates a float ProgressField with name and adds it to the container. Default value is 0.f.
|
| |
| ProgressField * | addProgress (const char *name, float value) |
| | Creates a float ProgressField with name and adds it to the container.
|
| |
| DoubleField * | addDouble (const char *name) |
| | Creates a DoubleField with name and adds it to the container. Default value is 0.
|
| |
| DoubleField * | addDouble (const char *name, double value) |
| | Creates a DoubleField with name and adds it to the container.
|
| |
| StringField * | addString (const char *name) |
| | Creates a StringField with name and adds it to the container. Default value is empty string.
|
| |
| StringField * | addString (const char *name, const std::string &value) |
| | Creates a StringField with name and adds it to the container.
|
| |
| NotifyField * | addNotify (const char *name) |
| | Creates a NotifyField field with name and adds it to the container.
|
| |
| TriggerField * | addTrigger (const char *name) |
| | Creates a TriggerField field with name and adds it to the container.
|
| |
| BaseField * | addBase (const char *name) |
| | Creates a Base field with name and adds it to the container. Default value is NULL.
|
| |
| BaseField * | addBase (const char *name, Base *value) |
| | Creates a Base field with name and adds it to the container.
|
| |
| BaseField * | addBase (const char *name, const RefCountedBasePtr &value) |
| | Creates a Base field with name and adds it to the container. Sets the value from intrusive pointer.
|
| |
| template<typename T > |
| BaseField * | addBaseWithAllowedType (const char *name, T *value=nullptr) |
| | As above, but also sets the allowed type of the field.
|
| |
| template<typename T > |
| BaseField * | addBaseWithAllowedType (const char *name, const ::boost::intrusive_ptr< T > &value) |
| | As above, but also sets the allowed type of the field.
|
| |
| template<typename T > |
| TypedBaseField< T > * | addTypedBase (const char *name) |
| | Creates a TypedBaseField with name and adds it to the container. Default value is NULL.
|
| |
| template<typename T > |
| TypedBaseField< T > * | addTypedBase (const char *name, T *value) |
| | Creates a TypedBaseField with name and adds it to the container.
|
| |
| template<typename T > |
| TypedBaseField< T > * | addTypedBase (const char *name, const ::boost::intrusive_ptr< T > &value) |
| | Creates a TypedBaseField with name and adds it to the container. Sets the value from intrusive pointer.
|
| |
| SoNodeField * | addSoNode (const char *name) |
| | Creates a SoNodeField with name and adds it to the container. Default value is NULL.
|
| |
| SoNodeField * | addSoNode (const char *name, SoNode *value) |
| | Creates a SoNodeField with name and adds it to the container.
|
| |
| PointerField * | addPointer (const char *name) |
| | Creates a PointerField with name and adds it to the container.
|
| |
| Vector2Field * | addVector2 (const char *name) |
| | Creates a Vector2Field with name and adds it to the container.
|
| |
| Vector2Field * | addVector2 (const char *name, const Vector2 &value) |
| | Creates a Vector2Field with name and adds it to the container.
|
| |
| Vector2Field * | addVector2 (const char *name, double x, double y) |
| | Creates a Vector2Field with name and adds it to the container.
|
| |
| Vector3Field * | addVector3 (const char *name) |
| | Creates a Vector3Field with name and adds it to the container.
|
| |
| Vector3Field * | addVector3 (const char *name, const Vector3 &value) |
| | Creates a Vector3Field with name and adds it to the container.
|
| |
| Vector3Field * | addVector3 (const char *name, double x, double y, double z) |
| | Creates a Vector3Field with name and adds it to the container.
|
| |
| Vector4Field * | addVector4 (const char *name) |
| | Creates a Vector4Field with name and adds it to the container.
|
| |
| Vector4Field * | addVector4 (const char *name, const Vector4 &value) |
| | Creates a Vector4Field with name and adds it to the container.
|
| |
| Vector4Field * | addVector4 (const char *name, double x, double y, double z, double w) |
| | Creates a Vector4Field with name and adds it to the container.
|
| |
| Vector5Field * | addVector5 (const char *name) |
| | Creates a Vector5Field with name and adds it to the container.
|
| |
| Vector5Field * | addVector5 (const char *name, const Vector5 &value) |
| | Creates a Vector5Field with name and adds it to the container.
|
| |
| Vector6Field * | addVector6 (const char *name) |
| | Creates a Vector6Field with name and adds it to the container.
|
| |
| Vector6Field * | addVector6 (const char *name, const Vector6 &value) |
| | Creates a Vector6Field with name and adds it to the container.
|
| |
| Vector10Field * | addVector10 (const char *name) |
| | Creates a Vector10Field with name and adds it to the container.
|
| |
| Vector10Field * | addVector10 (const char *name, const Vector10 &value) |
| | Creates a Vector10Field with name and adds it to the container.
|
| |
| ImageVectorField * | addImageVector (const char *name) |
| | Creates a ImageVectorField with name and adds it to the container.
|
| |
| ImageVectorField * | addImageVector (const char *name, const ImageVector &value) |
| | Creates a ImageVectorField with name and adds it to the container.
|
| |
| ImageVectorField * | addImageVector (const char *name, MLint x, MLint y, MLint z, MLint c, MLint t, MLint u) |
| | Creates a ImageVectorField with name and adds it to the container.
|
| |
| SubImageBoxField * | addSubImageBox (const char *name) |
| | Creates a SubImageBoxField with name and adds it to the container.
|
| |
| SubImageBoxField * | addSubImageBox (const char *name, const SubImageBox &value) |
| | Creates a SubImageBoxField with name and adds it to the container.
|
| |
| SubImageBoxdField * | addSubImageBoxd (const char *name) |
| | Creates a SubImageBoxd field with name and adds it to the container.
|
| |
| SubImageBoxdField * | addSubImageBoxd (const char *name, const SubImageBoxd &value) |
| | Creates a SubImageBoxd field with name and adds it to the container.
|
| |
| ColorField * | addColor (const char *name) |
| | Creates a ColorField with name and adds it to the container.
|
| |
| ColorField * | addColor (const char *name, float r, float g, float b) |
| | Creates a ColorField with name and adds it to the container.
|
| |
| ColorField * | addColor (const char *name, const Vector3 &value) |
| | Creates a ColorField with name and adds it to the container.
|
| |
| PlaneField * | addPlane (const char *name) |
| | Creates a PlaneField with name and adds it to the container.
|
| |
| PlaneField * | addPlane (const char *name, double f0, double f1, double f2, double f3) |
| | Creates a PlaneField with name and adds it to the container.
|
| |
| PlaneField * | addPlane (const char *name, const Plane &value) |
| | Creates a PlaneField with name and adds it to the container.
|
| |
| RotationField * | addRotation (const char *name) |
| | Creates a RotationField with name and adds it to the container.
|
| |
| RotationField * | addRotation (const char *name, const Rotation &value) |
| | Creates a RotationField with name and adds it to the container.
|
| |
| Matrix2Field * | addMatrix2 (const char *name) |
| | Creates a Matrix2Field with name and adds it to the container.
|
| |
| Matrix2Field * | addMatrix2 (const char *name, const Matrix2 &value) |
| | Creates a Matrix2Field with name and adds it to the container.
|
| |
| Matrix3Field * | addMatrix3 (const char *name) |
| | Creates a Matrix3Field with name and adds it to the container.
|
| |
| Matrix3Field * | addMatrix3 (const char *name, const Matrix3 &value) |
| | Creates a Matrix3Field with name and adds it to the container.
|
| |
| Matrix4Field * | addMatrix4 (const char *name) |
| | Creates a Matrix4Field with name and adds it to the container.
|
| |
| Matrix4Field * | addMatrix4 (const char *name, const Matrix4 &value) |
| | Creates a Matrix4Field with name and adds it to the container.
|
| |
| Matrix5Field * | addMatrix5 (const char *name) |
| | Creates a Matrix5Field with name and adds it to the container.
|
| |
| Matrix5Field * | addMatrix5 (const char *name, const Matrix5 &value) |
| | Creates a Matrix5Field with name and adds it to the container.
|
| |
| Matrix6Field * | addMatrix6 (const char *name) |
| | Creates a Matrix6Field with name and adds it to the container.
|
| |
| Matrix6Field * | addMatrix6 (const char *name, const Matrix6 &value) |
| | Creates a Matrix6Field with name and adds it to the container.
|
| |
| MatrixField * | addMatrix (const char *name) |
| | Creates a MatrixField with name and adds it to the container.
|
| |
| MatrixField * | addMatrix (const char *name, const Matrix4 &value) |
| | Creates a MatrixField with name and adds it to the container.
|
| |
| MLDataTypeField * | addMLDataType (const char *name) |
| | Creates a MTDataTypeField with name and adds it to the container.
|
| |
| MLDataTypeField * | addMLDataType (const char *name, MLDataType value) |
| | Creates a MTDataTypeField with name and adds it to the container.
|
| |
| UniversalTypeField * | addUniversalType (const char *name) |
| | Creates an UniversalTypeField field with name and adds it to the container.
|
| |
| IntListField * | addIntList (const char *name) |
| | Creates an IntListField field with name and empty list value and adds it to the container.
|
| |
| IntListField * | addIntList (const char *name, const std::vector< MLint > &value) |
| | Creates an IntListField field with name and given list value and adds it to the container.
|
| |
| DoubleListField * | addDoubleList (const char *name) |
| | Creates an DoubleListField field with name and empty list value and adds it to the container.
|
| |
| DoubleListField * | addDoubleList (const char *name, const std::vector< double > &value) |
| | Creates an DoubleListField field with name and given list value and adds it to the container.
|
| |
| Vector2ListField * | addVector2List (const char *name) |
| | Creates an Vector2ListField field with name and empty list value and adds it to the container.
|
| |
| Vector2ListField * | addVector2List (const char *name, const std::vector< Vector2 > &value) |
| | Creates an Vector2ListField field with name and given list value and adds it to the container.
|
| |
| Vector3ListField * | addVector3List (const char *name) |
| | Creates an Vector3ListField field with name and empty list value and adds it to the container.
|
| |
| Vector3ListField * | addVector3List (const char *name, const std::vector< Vector3 > &value) |
| | Creates an Vector3ListField field with name and given list value and adds it to the container.
|
| |
| Vector4ListField * | addVector4List (const char *name) |
| | Creates an Vector4ListField field with name and empty list value and adds it to the container.
|
| |
| Vector4ListField * | addVector4List (const char *name, const std::vector< Vector4 > &value) |
| | Creates an Vector4ListField field with name and given list value and adds it to the container.
|
| |
| size_t | getNumFields () const |
| | Returns the number of added fields.
|
| |
| bool | hasField (const std::string &name) const |
| | Returns true if the field with name name exists; otherwise, false is returned.
|
| |
| Field * | getField (const std::string &name) const |
| | Returns the pointer to the field with name name.
|
| |
| Field * | getField (MLint index) const |
| | Returns pointer of field at index if it exists. If not, -1 is returned.
|
| |
| MLint | getFieldIndex (Field *field) const |
| | Returns index of field if it exists. If not, -1 is returned.
|
| |
| void | setFieldStringValue (const std::string &name, const std::string &value) |
| | Sets the value of the field with name if it exists.
|
| |
| std::string | getFieldStringValue (const std::string &name) const |
| | Returns the string value of the field with name if it is found.
|
| |
| virtual void | deactivateAttachments () |
| | Disables notification handling, i.e., all fields of this module will not send notifications to attached sensors and fields anymore if their values are set or changed.
|
| |
| | Base () |
| | Constructor.
|
| |
| virtual | ~Base () |
| | Destructor.
|
| |
| virtual Base * | deepCopy () const |
| | Creates a deep copy of the given object.
|
| |
| bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
| | Checks whether this object's type is equal to or derived from one of the types given in the argument.
|
| |
| virtual bool | isRefCountedBase () const |
| | Returns whether the instance is derived from RefCountedBase.
|
| |
| virtual std::string | detailString () const |
| | Returns a string describing this object.
|
| |
| virtual bool | implementsPersistence (PersistenceInterface) const |
| | Override this method to declare which persistence interfaces are implemented by your derived class.
|
| |
| virtual std::string | persistentState () const |
| | Returns a string describing the object's internal state.
|
| |
| virtual void | setPersistentState (const std::string &state) |
| | Restores the object's internal state from a string that had been previously generated using persistentState().
|
| |
| virtual void | addStateToTree (TreeNode *) const |
| | Attaches the object state as children of the given parent node.
|
| |
| virtual void | readStateFromTree (TreeNode *) |
| | Reads the object state from the children of the given parent node.
|
| |
| virtual void | writeTo (AbstractPersistenceOutputStream *) const |
| | Writes the objects state to the data stream object.
|
| |
| virtual void | readFrom (AbstractPersistenceInputStream *, int) |
| | Reads the objects state from the data stream object.
|
| |
|
| | ~WEMProcessor () override |
| | Standard destructor.
|
| |
| WEMRequirements * | getRequirements () |
| | Get requirements.
|
| |
| bool | areEdgesRequired () |
| | Are edges required?
|
| |
| bool | isSinglePatchRequired () |
| | Is a single patch required?
|
| |
| bool | isPatchTypeRequired (PatchTypes patchType) |
| | Is patch type required?
|
| |
| bool | isOrientationTypeRequired (OrientationTypes orientationType) |
| | Is orientation type required?
|
| |
| void | requireEdges (bool requireEdgesFlag=true) |
| | Require edges.
|
| |
| void | requireSinglePatch (bool requireSinglePatchFlag=true) |
| | Require single patch.
|
| |
| void | requirePatchType (PatchTypes patchType) |
| | Require patch type.
|
| |
| void | requireOrientationType (OrientationTypes orientationType) |
| | Require orientation type.
|
| |
| void | handleNotification (Field *field) override |
| | Called when input changes.
|
| |
| void | activateAttachments () override |
| | Initialize module after loading.
|
| |
| void | _process () override |
| | Triggers the computation of the preprocessing.
|
| |
| virtual void | _addWEMPatch (WEMPatch *wemPatch, bool mergeAllPatches=false) |
| | Adds a new WEMPatch to the output list and optionally applies the default attributes.
|
| |
| void | _notifyObservers () override |
| | Notify observers with FINISHED | SELECTION | REPAINT message.
|
| |
| WEMPatch * | _makeCompatible (WEMPatch *wemPatch) |
| | Make given WEMPatch compatible with module requirements.
|
| |
| void | _copyWEMPatch (WEMPatch *wemPatch) |
| | Copy given WEM.
|
| |
| | ~WEMGenerator () override |
| | Standard destructor.
|
| |
| virtual void | _finish (WEMPatch *wemPatch) |
| | Finish generation of given WEMPatch.
|
| |
| void | _applyFields (WEMPatch *wemPatch) |
| | Applies the default parameters to the given WEMPatch.
|
| |
| void | _applyMetaFields (WEMPatch *wemPatch) |
| | Applies meta information parameters to the given WEMPatch.
|
| |
| void | _finishProcessing () override |
| | Finishing processing: measuring time and optionally apply meta field values.
|
| |
| | ~WEMModule () override |
| | Standard destructor.
|
| |
| void | _startProcessing () |
| | Start processing timer.
|
| |
| void | handleNotificationInternal (Field *field, FieldSensor::Strength strength) override |
| | Called from FieldContainer whenever a field changes.
|
| |
| virtual CalculateOutputImageHandler * | createCalculateOutputImageHandler (PagedImage *outputImage) |
| | Creates the CalculateOutputImageHandler for the given output image outputImage.
|
| |
| virtual void | calculateOutputImageProperties (int outputIndex, PagedImage *outputImage) |
| | Set properties of output image outputImage with output index outputIndex.
|
| |
| virtual SubImageBox | calculateInputSubImageBox (int, const SubImageBox &outputSubImageBox, int) |
| | Called by the Host to determine which input image region (tile) of input inputIndex is required to calculate a certain output image region (page) of output outputIndex.
|
| |
| virtual void | calculateOutputSubImage (SubImage *outputSubImage, int outputIndex, SubImage *inputSubImages) |
| | Calculates page outputSubImage of output image with index outputIndex given the input image tiles in array inputSubImages.
|
| |
| virtual void | provideCustomPage (int, const SubImageBox &, MLMemoryBlockHandle &) |
| | This method allows a Module to provide its own pages to the Host for the outputIndex output image.
|
| |
| void | handleNotificationOff () |
| | Decreases lock counter for handleNotification calls.
|
| |
| void | handleNotificationOn () |
| | Increases lock counter for handleNotification calls.
|
| |
| bool | isHandleNotificationOn () |
| | Returns true if handleNotification calls are permitted; otherwise, it returns false.
|
| |
| void | setOutputImageInplace (MLint outputIndex=0, MLint inputIndex=0) |
| | Sets the optimization flag: if calculating a page in calculateOutputSubImage(), the output image page of output outputIndex shall use the same memory as the input page of input inputIndex.
|
| |
| void | unsetOutputImageInplace (MLint outputIndex=0) |
| | Clears the optimization flag: output page of output at outputIndex and input tile shall use different memory buffers in calculateOutputSubImage().
|
| |
| void | setBypass (MLint outputIndex=0, MLint inputIndex=0) |
| | Sets the input image whose pages can also be used instead of output pages for the output image at outputIndex to avoid recalculations.
|
| |
| void | setClampPagesToImageExtent (bool flag=true) |
| | Enables/disables page clamping on all output images.
|
| |
| void | setThreadSupport (THREAD_SUPPORT supportMode) |
| | Passes any THREAD_SUPPORT supportMode to decide whether and what type of multithreading is supported by this module.
|
| |
| void | permitRecursiveHandleNotifications (bool enable) |
| | If this flag is set to enable =true, recursive entries in handleNotification are permitted.
|
| |
| void | setVoxelDataTypeSupport (PERMITTED_TYPES permTypes) |
| | Specifies which types this module supports.
|
| |