diff --git a/Autogenerated/Bindings/C/lib3mf.h b/Autogenerated/Bindings/C/lib3mf.h index 29eb4560f..71f718afa 100644 --- a/Autogenerated/Bindings/C/lib3mf.h +++ b/Autogenerated/Bindings/C/lib3mf.h @@ -3158,13 +3158,14 @@ LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_setidentifier(Lib3MF_Implic * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/C/lib3mf_types.h b/Autogenerated/Bindings/C/lib3mf_types.h index 3b97d60f7..7e1738f85 100644 --- a/Autogenerated/Bindings/C/lib3mf_types.h +++ b/Autogenerated/Bindings/C/lib3mf_types.h @@ -446,6 +446,21 @@ typedef enum eLib3MFImplicitPortType { eImplicitPortTypeResourceID = 4 /** Resource ID */ } eLib3MFImplicitPortType; +/** +* enum eLib3MFImplicitNodeConfiguration - Defines the input and output types of a node +*/ +typedef enum eLib3MFImplicitNodeConfiguration { + eImplicitNodeConfigurationDefault = 1, /** Default */ + eImplicitNodeConfigurationScalarToScalar = 2, /** Scalar -> Scalar */ + eImplicitNodeConfigurationVectorToVector = 3, /** Vector -> Vector */ + eImplicitNodeConfigurationMatrixToMatrix = 4, /** Matrix -> Matrix */ + eImplicitNodeConfigurationScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + eImplicitNodeConfigurationVectorVectorToVector = 6, /** Vector, Vector -> Vector */ + eImplicitNodeConfigurationScalarToVector = 8, /** Scalar -> Vector */ + eImplicitNodeConfigurationVectorToScalar = 9, /** Vector -> Scalar */ + eImplicitNodeConfigurationVectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ +} eLib3MFImplicitNodeConfiguration; + typedef enum eLib3MFEncryptionAlgorithm { eEncryptionAlgorithmAES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ } eLib3MFEncryptionAlgorithm; @@ -561,6 +576,11 @@ typedef union { int m_code; } structEnumLib3MFImplicitPortType; +typedef union { + eLib3MFImplicitNodeConfiguration m_enum; + int m_code; +} structEnumLib3MFImplicitNodeConfiguration; + typedef union { eLib3MFEncryptionAlgorithm m_enum; int m_code; diff --git a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h index f08a7c78a..8fb523a5b 100644 --- a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h @@ -3145,13 +3145,14 @@ typedef Lib3MFResult (*PLib3MFImplicitFunction_SetIdentifierPtr) (Lib3MF_Implici * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/CDynamic/lib3mf_types.h b/Autogenerated/Bindings/CDynamic/lib3mf_types.h index 3b97d60f7..7e1738f85 100644 --- a/Autogenerated/Bindings/CDynamic/lib3mf_types.h +++ b/Autogenerated/Bindings/CDynamic/lib3mf_types.h @@ -446,6 +446,21 @@ typedef enum eLib3MFImplicitPortType { eImplicitPortTypeResourceID = 4 /** Resource ID */ } eLib3MFImplicitPortType; +/** +* enum eLib3MFImplicitNodeConfiguration - Defines the input and output types of a node +*/ +typedef enum eLib3MFImplicitNodeConfiguration { + eImplicitNodeConfigurationDefault = 1, /** Default */ + eImplicitNodeConfigurationScalarToScalar = 2, /** Scalar -> Scalar */ + eImplicitNodeConfigurationVectorToVector = 3, /** Vector -> Vector */ + eImplicitNodeConfigurationMatrixToMatrix = 4, /** Matrix -> Matrix */ + eImplicitNodeConfigurationScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + eImplicitNodeConfigurationVectorVectorToVector = 6, /** Vector, Vector -> Vector */ + eImplicitNodeConfigurationScalarToVector = 8, /** Scalar -> Vector */ + eImplicitNodeConfigurationVectorToScalar = 9, /** Vector -> Scalar */ + eImplicitNodeConfigurationVectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ +} eLib3MFImplicitNodeConfiguration; + typedef enum eLib3MFEncryptionAlgorithm { eEncryptionAlgorithmAES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ } eLib3MFEncryptionAlgorithm; @@ -561,6 +576,11 @@ typedef union { int m_code; } structEnumLib3MFImplicitPortType; +typedef union { + eLib3MFImplicitNodeConfiguration m_enum; + int m_code; +} structEnumLib3MFImplicitNodeConfiguration; + typedef union { eLib3MFEncryptionAlgorithm m_enum; int m_code; diff --git a/Autogenerated/Bindings/CSharp/Lib3MF.cs b/Autogenerated/Bindings/CSharp/Lib3MF.cs index 067d6de98..de717f481 100644 --- a/Autogenerated/Bindings/CSharp/Lib3MF.cs +++ b/Autogenerated/Bindings/CSharp/Lib3MF.cs @@ -217,6 +217,18 @@ public enum eImplicitPortType { ResourceID = 4 }; + public enum eImplicitNodeConfiguration { + Default = 1, + ScalarToScalar = 2, + VectorToVector = 3, + MatrixToMatrix = 4, + ScalarScalarToScalar = 5, + VectorVectorToVector = 6, + ScalarToVector = 8, + VectorToScalar = 9, + VectorVectorToScalar = 10 + }; + public enum eEncryptionAlgorithm { AES256_GCM = 1 }; @@ -1326,7 +1338,7 @@ public class Lib3MFWrapper public unsafe extern static Int32 ImplicitFunction_SetIdentifier (IntPtr Handle, byte[] AIdentifier); [DllImport("lib3mf.dll", EntryPoint = "lib3mf_implicitfunction_addnode", CallingConvention=CallingConvention.Cdecl)] - public unsafe extern static Int32 ImplicitFunction_AddNode (IntPtr Handle, Int32 ANodeType, byte[] AIdentifier, byte[] ADisplayName, byte[] ATag, out IntPtr ANode); + public unsafe extern static Int32 ImplicitFunction_AddNode (IntPtr Handle, Int32 ANodeType, Int32 AConfiguration, byte[] AIdentifier, byte[] ADisplayName, byte[] ATag, out IntPtr ANode); [DllImport("lib3mf.dll", EntryPoint = "lib3mf_implicitfunction_getnodes", CallingConvention=CallingConvention.Cdecl)] public unsafe extern static Int32 ImplicitFunction_GetNodes (IntPtr Handle, out IntPtr AIterator); @@ -5345,15 +5357,16 @@ public void SetIdentifier (String AIdentifier) CheckError(Internal.Lib3MFWrapper.ImplicitFunction_SetIdentifier (Handle, byteIdentifier)); } - public CImplicitNode AddNode (eImplicitNodeType ANodeType, String AIdentifier, String ADisplayName, String ATag) + public CImplicitNode AddNode (eImplicitNodeType ANodeType, eImplicitNodeConfiguration AConfiguration, String AIdentifier, String ADisplayName, String ATag) { Int32 enumNodeType = (Int32) ANodeType; + Int32 enumConfiguration = (Int32) AConfiguration; byte[] byteIdentifier = Encoding.UTF8.GetBytes(AIdentifier + char.MinValue); byte[] byteDisplayName = Encoding.UTF8.GetBytes(ADisplayName + char.MinValue); byte[] byteTag = Encoding.UTF8.GetBytes(ATag + char.MinValue); IntPtr newNode = IntPtr.Zero; - CheckError(Internal.Lib3MFWrapper.ImplicitFunction_AddNode (Handle, enumNodeType, byteIdentifier, byteDisplayName, byteTag, out newNode)); + CheckError(Internal.Lib3MFWrapper.ImplicitFunction_AddNode (Handle, enumNodeType, enumConfiguration, byteIdentifier, byteDisplayName, byteTag, out newNode)); return Internal.Lib3MFWrapper.PolymorphicFactory(newNode); } diff --git a/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp b/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp index 9c6bb5504..21d4c319b 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp @@ -3158,13 +3158,14 @@ LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_setidentifier(Lib3MF_Implic * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, Lib3MF::eImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp b/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp index 590e5133d..10d122793 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp @@ -1784,7 +1784,7 @@ class CImplicitFunction : public CFunction { inline std::string GetIdentifier(); inline void SetIdentifier(const std::string & sIdentifier); - inline PImplicitNode AddNode(const eImplicitNodeType eNodeType, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag); + inline PImplicitNode AddNode(const eImplicitNodeType eNodeType, const eImplicitNodeConfiguration eConfiguration, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag); inline PNodeIterator GetNodes(); inline void RemoveNode(classParam pNode); inline void AddLink(classParam pSource, classParam pTarget); @@ -6373,15 +6373,16 @@ inline CBase* CWrapper::polymorphicFactory(Lib3MFHandle pHandle) /** * CImplicitFunction::AddNode - Add a node * @param[in] eNodeType - the type of the node + * @param[in] eConfiguration - the configuration of the node * @param[in] sIdentifier - the identifier of the node * @param[in] sDisplayName - the display name of the node * @param[in] sTag - the tag of the node * @return the added node */ - PImplicitNode CImplicitFunction::AddNode(const eImplicitNodeType eNodeType, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) + PImplicitNode CImplicitFunction::AddNode(const eImplicitNodeType eNodeType, const eImplicitNodeConfiguration eConfiguration, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) { Lib3MFHandle hNode = nullptr; - CheckError(lib3mf_implicitfunction_addnode(m_pHandle, eNodeType, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hNode)); + CheckError(lib3mf_implicitfunction_addnode(m_pHandle, eNodeType, eConfiguration, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hNode)); if (!hNode) { CheckError(LIB3MF_ERROR_INVALIDPARAM); diff --git a/Autogenerated/Bindings/Cpp/lib3mf_types.hpp b/Autogenerated/Bindings/Cpp/lib3mf_types.hpp index cd740ada1..d34084760 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_types.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_types.hpp @@ -447,6 +447,21 @@ namespace Lib3MF { ResourceID = 4 /** Resource ID */ }; + /** + * enum class eImplicitNodeConfiguration - Defines the input and output types of a node + */ + enum class eImplicitNodeConfiguration : Lib3MF_int32 { + Default = 1, /** Default */ + ScalarToScalar = 2, /** Scalar -> Scalar */ + VectorToVector = 3, /** Vector -> Vector */ + MatrixToMatrix = 4, /** Matrix -> Matrix */ + ScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + VectorVectorToVector = 6, /** Vector, Vector -> Vector */ + ScalarToVector = 8, /** Scalar -> Vector */ + VectorToScalar = 9, /** Vector -> Scalar */ + VectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ + }; + enum class eEncryptionAlgorithm : Lib3MF_int32 { AES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ }; @@ -646,6 +661,7 @@ typedef Lib3MF::eCompositionMethod eLib3MFCompositionMethod; typedef Lib3MF::eCompositionSpace eLib3MFCompositionSpace; typedef Lib3MF::eImplicitNodeType eLib3MFImplicitNodeType; typedef Lib3MF::eImplicitPortType eLib3MFImplicitPortType; +typedef Lib3MF::eImplicitNodeConfiguration eLib3MFImplicitNodeConfiguration; typedef Lib3MF::eEncryptionAlgorithm eLib3MFEncryptionAlgorithm; typedef Lib3MF::eWrappingAlgorithm eLib3MFWrappingAlgorithm; typedef Lib3MF::eMgfAlgorithm eLib3MFMgfAlgorithm; diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h index 91d6e9a0b..743ce93b1 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h @@ -3145,13 +3145,14 @@ typedef Lib3MFResult (*PLib3MFImplicitFunction_SetIdentifierPtr) (Lib3MF_Implici * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, Lib3MF::eImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp index c878b33a5..1e6a62469 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp @@ -1808,7 +1808,7 @@ class CImplicitFunction : public CFunction { inline std::string GetIdentifier(); inline void SetIdentifier(const std::string & sIdentifier); - inline PImplicitNode AddNode(const eImplicitNodeType eNodeType, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag); + inline PImplicitNode AddNode(const eImplicitNodeType eNodeType, const eImplicitNodeConfiguration eConfiguration, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag); inline PNodeIterator GetNodes(); inline void RemoveNode(classParam pNode); inline void AddLink(classParam pSource, classParam pTarget); @@ -13165,15 +13165,16 @@ inline CBase* CWrapper::polymorphicFactory(Lib3MFHandle pHandle) /** * CImplicitFunction::AddNode - Add a node * @param[in] eNodeType - the type of the node + * @param[in] eConfiguration - the configuration of the node * @param[in] sIdentifier - the identifier of the node * @param[in] sDisplayName - the display name of the node * @param[in] sTag - the tag of the node * @return the added node */ - PImplicitNode CImplicitFunction::AddNode(const eImplicitNodeType eNodeType, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) + PImplicitNode CImplicitFunction::AddNode(const eImplicitNodeType eNodeType, const eImplicitNodeConfiguration eConfiguration, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) { Lib3MFHandle hNode = nullptr; - CheckError(m_pWrapper->m_WrapperTable.m_ImplicitFunction_AddNode(m_pHandle, eNodeType, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hNode)); + CheckError(m_pWrapper->m_WrapperTable.m_ImplicitFunction_AddNode(m_pHandle, eNodeType, eConfiguration, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hNode)); if (!hNode) { CheckError(LIB3MF_ERROR_INVALIDPARAM); diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp b/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp index cd740ada1..d34084760 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp @@ -447,6 +447,21 @@ namespace Lib3MF { ResourceID = 4 /** Resource ID */ }; + /** + * enum class eImplicitNodeConfiguration - Defines the input and output types of a node + */ + enum class eImplicitNodeConfiguration : Lib3MF_int32 { + Default = 1, /** Default */ + ScalarToScalar = 2, /** Scalar -> Scalar */ + VectorToVector = 3, /** Vector -> Vector */ + MatrixToMatrix = 4, /** Matrix -> Matrix */ + ScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + VectorVectorToVector = 6, /** Vector, Vector -> Vector */ + ScalarToVector = 8, /** Scalar -> Vector */ + VectorToScalar = 9, /** Vector -> Scalar */ + VectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ + }; + enum class eEncryptionAlgorithm : Lib3MF_int32 { AES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ }; @@ -646,6 +661,7 @@ typedef Lib3MF::eCompositionMethod eLib3MFCompositionMethod; typedef Lib3MF::eCompositionSpace eLib3MFCompositionSpace; typedef Lib3MF::eImplicitNodeType eLib3MFImplicitNodeType; typedef Lib3MF::eImplicitPortType eLib3MFImplicitPortType; +typedef Lib3MF::eImplicitNodeConfiguration eLib3MFImplicitNodeConfiguration; typedef Lib3MF::eEncryptionAlgorithm eLib3MFEncryptionAlgorithm; typedef Lib3MF::eWrappingAlgorithm eLib3MFWrappingAlgorithm; typedef Lib3MF::eMgfAlgorithm eLib3MFMgfAlgorithm; diff --git a/Autogenerated/Bindings/Go/lib3mf.go b/Autogenerated/Bindings/Go/lib3mf.go index c892c2fd6..bf4a818ce 100644 --- a/Autogenerated/Bindings/Go/lib3mf.go +++ b/Autogenerated/Bindings/Go/lib3mf.go @@ -2772,12 +2772,12 @@ Lib3MFResult CCall_lib3mf_implicitfunction_setidentifier(Lib3MFHandle libraryHan } -Lib3MFResult CCall_lib3mf_implicitfunction_addnode(Lib3MFHandle libraryHandle, Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode) +Lib3MFResult CCall_lib3mf_implicitfunction_addnode(Lib3MFHandle libraryHandle, Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode) { if (libraryHandle == 0) return LIB3MF_ERROR_INVALIDCAST; sLib3MFDynamicWrapperTable * wrapperTable = (sLib3MFDynamicWrapperTable *) libraryHandle; - return wrapperTable->m_ImplicitFunction_AddNode (pImplicitFunction, eNodeType, pIdentifier, pDisplayName, pTag, pNode); + return wrapperTable->m_ImplicitFunction_AddNode (pImplicitFunction, eNodeType, eConfiguration, pIdentifier, pDisplayName, pTag, pNode); } @@ -4614,6 +4614,21 @@ const ( ImplicitPortType_ResourceID = 4 ) +// ImplicitNodeConfiguration represents a Lib3MF enum. +type ImplicitNodeConfiguration int + +const ( + ImplicitNodeConfiguration_Default = 1 + ImplicitNodeConfiguration_ScalarToScalar = 2 + ImplicitNodeConfiguration_VectorToVector = 3 + ImplicitNodeConfiguration_MatrixToMatrix = 4 + ImplicitNodeConfiguration_ScalarScalarToScalar = 5 + ImplicitNodeConfiguration_VectorVectorToVector = 6 + ImplicitNodeConfiguration_ScalarToVector = 8 + ImplicitNodeConfiguration_VectorToScalar = 9 + ImplicitNodeConfiguration_VectorVectorToScalar = 10 +) + // EncryptionAlgorithm represents a Lib3MF enum. type EncryptionAlgorithm int @@ -8749,9 +8764,9 @@ func (inst ImplicitFunction) SetIdentifier(identifier string) error { } // AddNode add a node. -func (inst ImplicitFunction) AddNode(nodeType ImplicitNodeType, identifier string, displayName string, tag string) (ImplicitNode, error) { +func (inst ImplicitFunction) AddNode(nodeType ImplicitNodeType, configuration ImplicitNodeConfiguration, identifier string, displayName string, tag string) (ImplicitNode, error) { var node ref - ret := C.CCall_lib3mf_implicitfunction_addnode(inst.wrapperRef.LibraryHandle, inst.Ref, C.eLib3MFImplicitNodeType(nodeType), (*C.char)(unsafe.Pointer(&[]byte(identifier)[0])), (*C.char)(unsafe.Pointer(&[]byte(displayName)[0])), (*C.char)(unsafe.Pointer(&[]byte(tag)[0])), &node) + ret := C.CCall_lib3mf_implicitfunction_addnode(inst.wrapperRef.LibraryHandle, inst.Ref, C.eLib3MFImplicitNodeType(nodeType), C.eLib3MFImplicitNodeConfiguration(configuration), (*C.char)(unsafe.Pointer(&[]byte(identifier)[0])), (*C.char)(unsafe.Pointer(&[]byte(displayName)[0])), (*C.char)(unsafe.Pointer(&[]byte(tag)[0])), &node) if ret != 0 { return ImplicitNode{}, makeError(uint32(ret)) } diff --git a/Autogenerated/Bindings/Go/lib3mf_dynamic.h b/Autogenerated/Bindings/Go/lib3mf_dynamic.h index f08a7c78a..8fb523a5b 100644 --- a/Autogenerated/Bindings/Go/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/Go/lib3mf_dynamic.h @@ -3145,13 +3145,14 @@ typedef Lib3MFResult (*PLib3MFImplicitFunction_SetIdentifierPtr) (Lib3MF_Implici * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/Go/lib3mf_types.h b/Autogenerated/Bindings/Go/lib3mf_types.h index 3b97d60f7..7e1738f85 100644 --- a/Autogenerated/Bindings/Go/lib3mf_types.h +++ b/Autogenerated/Bindings/Go/lib3mf_types.h @@ -446,6 +446,21 @@ typedef enum eLib3MFImplicitPortType { eImplicitPortTypeResourceID = 4 /** Resource ID */ } eLib3MFImplicitPortType; +/** +* enum eLib3MFImplicitNodeConfiguration - Defines the input and output types of a node +*/ +typedef enum eLib3MFImplicitNodeConfiguration { + eImplicitNodeConfigurationDefault = 1, /** Default */ + eImplicitNodeConfigurationScalarToScalar = 2, /** Scalar -> Scalar */ + eImplicitNodeConfigurationVectorToVector = 3, /** Vector -> Vector */ + eImplicitNodeConfigurationMatrixToMatrix = 4, /** Matrix -> Matrix */ + eImplicitNodeConfigurationScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + eImplicitNodeConfigurationVectorVectorToVector = 6, /** Vector, Vector -> Vector */ + eImplicitNodeConfigurationScalarToVector = 8, /** Scalar -> Vector */ + eImplicitNodeConfigurationVectorToScalar = 9, /** Vector -> Scalar */ + eImplicitNodeConfigurationVectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ +} eLib3MFImplicitNodeConfiguration; + typedef enum eLib3MFEncryptionAlgorithm { eEncryptionAlgorithmAES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ } eLib3MFEncryptionAlgorithm; @@ -561,6 +576,11 @@ typedef union { int m_code; } structEnumLib3MFImplicitPortType; +typedef union { + eLib3MFImplicitNodeConfiguration m_enum; + int m_code; +} structEnumLib3MFImplicitNodeConfiguration; + typedef union { eLib3MFEncryptionAlgorithm m_enum; int m_code; diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h index f08a7c78a..8fb523a5b 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h @@ -3145,13 +3145,14 @@ typedef Lib3MFResult (*PLib3MFImplicitFunction_SetIdentifierPtr) (Lib3MF_Implici * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +typedef Lib3MFResult (*PLib3MFImplicitFunction_AddNodePtr) (Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc index bb2f7a587..4cb9527f7 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc +++ b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc @@ -11765,21 +11765,25 @@ void CLib3MFImplicitFunction::AddNode(const FunctionCallbackInfo& args) if (!args[0]->IsUint32()) { throw std::runtime_error("Expected enum parameter 0 (NodeType)"); } - if (!args[1]->IsString()) { - throw std::runtime_error("Expected string parameter 1 (Identifier)"); + if (!args[1]->IsUint32()) { + throw std::runtime_error("Expected enum parameter 1 (Configuration)"); } if (!args[2]->IsString()) { - throw std::runtime_error("Expected string parameter 2 (DisplayName)"); + throw std::runtime_error("Expected string parameter 2 (Identifier)"); } if (!args[3]->IsString()) { - throw std::runtime_error("Expected string parameter 3 (Tag)"); + throw std::runtime_error("Expected string parameter 3 (DisplayName)"); + } + if (!args[4]->IsString()) { + throw std::runtime_error("Expected string parameter 4 (Tag)"); } unsigned int eNodeType = (unsigned int) args[0]->IntegerValue(isolate->GetCurrentContext()).ToChecked(); - v8::String::Utf8Value sutf8Identifier(isolate, args[1]); + unsigned int eConfiguration = (unsigned int) args[1]->IntegerValue(isolate->GetCurrentContext()).ToChecked(); + v8::String::Utf8Value sutf8Identifier(isolate, args[2]); std::string sIdentifier = *sutf8Identifier; - v8::String::Utf8Value sutf8DisplayName(isolate, args[2]); + v8::String::Utf8Value sutf8DisplayName(isolate, args[3]); std::string sDisplayName = *sutf8DisplayName; - v8::String::Utf8Value sutf8Tag(isolate, args[3]); + v8::String::Utf8Value sutf8Tag(isolate, args[4]); std::string sTag = *sutf8Tag; Lib3MFHandle hReturnNode = nullptr; sLib3MFDynamicWrapperTable * wrapperTable = CLib3MFBaseClass::getDynamicWrapperTable(args.Holder()); @@ -11788,7 +11792,7 @@ void CLib3MFImplicitFunction::AddNode(const FunctionCallbackInfo& args) if (wrapperTable->m_ImplicitFunction_AddNode == nullptr) throw std::runtime_error("Could not call Lib3MF method ImplicitFunction::AddNode."); Lib3MFHandle instanceHandle = CLib3MFBaseClass::getHandle(args.Holder()); - Lib3MFResult errorCode = wrapperTable->m_ImplicitFunction_AddNode(instanceHandle, (eLib3MFImplicitNodeType) eNodeType, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hReturnNode); + Lib3MFResult errorCode = wrapperTable->m_ImplicitFunction_AddNode(instanceHandle, (eLib3MFImplicitNodeType) eNodeType, (eLib3MFImplicitNodeConfiguration) eConfiguration, sIdentifier.c_str(), sDisplayName.c_str(), sTag.c_str(), &hReturnNode); CheckError(isolate, wrapperTable, instanceHandle, errorCode); Local instanceObjNode = CLib3MFImplicitNode::NewInstance(args.Holder(), hReturnNode); args.GetReturnValue().Set(instanceObjNode); @@ -16818,6 +16822,15 @@ void CLib3MFWrapper::New(const FunctionCallbackInfo& args) newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitPortType_Vector"), Integer::New(isolate, 2)); newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitPortType_Matrix"), Integer::New(isolate, 3)); newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitPortType_ResourceID"), Integer::New(isolate, 4)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_Default"), Integer::New(isolate, 1)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_ScalarToScalar"), Integer::New(isolate, 2)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_VectorToVector"), Integer::New(isolate, 3)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_MatrixToMatrix"), Integer::New(isolate, 4)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_ScalarScalarToScalar"), Integer::New(isolate, 5)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_VectorVectorToVector"), Integer::New(isolate, 6)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_ScalarToVector"), Integer::New(isolate, 8)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_VectorToScalar"), Integer::New(isolate, 9)); + newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eImplicitNodeConfiguration_VectorVectorToScalar"), Integer::New(isolate, 10)); newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eEncryptionAlgorithm_AES256_GCM"), Integer::New(isolate, 1)); newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eWrappingAlgorithm_RSA_OAEP"), Integer::New(isolate, 0)); newObject->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "eMgfAlgorithm_MGF1_SHA1"), Integer::New(isolate, 160)); diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_types.h b/Autogenerated/Bindings/NodeJS/lib3mf_types.h index 3b97d60f7..7e1738f85 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_types.h +++ b/Autogenerated/Bindings/NodeJS/lib3mf_types.h @@ -446,6 +446,21 @@ typedef enum eLib3MFImplicitPortType { eImplicitPortTypeResourceID = 4 /** Resource ID */ } eLib3MFImplicitPortType; +/** +* enum eLib3MFImplicitNodeConfiguration - Defines the input and output types of a node +*/ +typedef enum eLib3MFImplicitNodeConfiguration { + eImplicitNodeConfigurationDefault = 1, /** Default */ + eImplicitNodeConfigurationScalarToScalar = 2, /** Scalar -> Scalar */ + eImplicitNodeConfigurationVectorToVector = 3, /** Vector -> Vector */ + eImplicitNodeConfigurationMatrixToMatrix = 4, /** Matrix -> Matrix */ + eImplicitNodeConfigurationScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + eImplicitNodeConfigurationVectorVectorToVector = 6, /** Vector, Vector -> Vector */ + eImplicitNodeConfigurationScalarToVector = 8, /** Scalar -> Vector */ + eImplicitNodeConfigurationVectorToScalar = 9, /** Vector -> Scalar */ + eImplicitNodeConfigurationVectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ +} eLib3MFImplicitNodeConfiguration; + typedef enum eLib3MFEncryptionAlgorithm { eEncryptionAlgorithmAES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ } eLib3MFEncryptionAlgorithm; @@ -561,6 +576,11 @@ typedef union { int m_code; } structEnumLib3MFImplicitPortType; +typedef union { + eLib3MFImplicitNodeConfiguration m_enum; + int m_code; +} structEnumLib3MFImplicitNodeConfiguration; + typedef union { eLib3MFEncryptionAlgorithm m_enum; int m_code; diff --git a/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas b/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas index 1cb9d10f2..8e03c26f3 100644 --- a/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas +++ b/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas @@ -305,6 +305,18 @@ interface eImplicitPortTypeResourceID ); + TLib3MFImplicitNodeConfiguration = ( + eImplicitNodeConfigurationDefault, + eImplicitNodeConfigurationScalarToScalar, + eImplicitNodeConfigurationVectorToVector, + eImplicitNodeConfigurationMatrixToMatrix, + eImplicitNodeConfigurationScalarScalarToScalar, + eImplicitNodeConfigurationVectorVectorToVector, + eImplicitNodeConfigurationScalarToVector, + eImplicitNodeConfigurationVectorToScalar, + eImplicitNodeConfigurationVectorVectorToScalar + ); + TLib3MFEncryptionAlgorithm = ( eEncryptionAlgorithmAES256_GCM ); @@ -3674,13 +3686,14 @@ TLib3MFModel = class; * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node + * @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) *) - TLib3MFImplicitFunction_AddNodeFunc = function(pImplicitFunction: TLib3MFHandle; const eNodeType: Integer; const pIdentifier: PAnsiChar; const pDisplayName: PAnsiChar; const pTag: PAnsiChar; out pNode: TLib3MFHandle): TLib3MFResult; cdecl; + TLib3MFImplicitFunction_AddNodeFunc = function(pImplicitFunction: TLib3MFHandle; const eNodeType: Integer; const eConfiguration: Integer; const pIdentifier: PAnsiChar; const pDisplayName: PAnsiChar; const pTag: PAnsiChar; out pNode: TLib3MFHandle): TLib3MFResult; cdecl; (** * Retrieves the nodes @@ -6327,7 +6340,7 @@ TLib3MFImplicitFunction = class(TLib3MFFunction) destructor Destroy; override; function GetIdentifier(): String; procedure SetIdentifier(const AIdentifier: String); - function AddNode(const ANodeType: TLib3MFImplicitNodeType; const AIdentifier: String; const ADisplayName: String; const ATag: String): TLib3MFImplicitNode; + function AddNode(const ANodeType: TLib3MFImplicitNodeType; const AConfiguration: TLib3MFImplicitNodeConfiguration; const AIdentifier: String; const ADisplayName: String; const ATag: String): TLib3MFImplicitNode; function GetNodes(): TLib3MFNodeIterator; procedure RemoveNode(const ANode: TLib3MFImplicitNode); procedure AddLink(const ASource: TLib3MFImplicitPort; const ATarget: TLib3MFImplicitPort); @@ -7657,6 +7670,8 @@ TLib3MFWrapper = class(TObject) function convertConstToImplicitNodeType(const AValue: Integer): TLib3MFImplicitNodeType; function convertImplicitPortTypeToConst(const AValue: TLib3MFImplicitPortType): Integer; function convertConstToImplicitPortType(const AValue: Integer): TLib3MFImplicitPortType; + function convertImplicitNodeConfigurationToConst(const AValue: TLib3MFImplicitNodeConfiguration): Integer; + function convertConstToImplicitNodeConfiguration(const AValue: Integer): TLib3MFImplicitNodeConfiguration; function convertEncryptionAlgorithmToConst(const AValue: TLib3MFEncryptionAlgorithm): Integer; function convertConstToEncryptionAlgorithm(const AValue: Integer): TLib3MFEncryptionAlgorithm; function convertWrappingAlgorithmToConst(const AValue: TLib3MFWrappingAlgorithm): Integer; @@ -8282,6 +8297,41 @@ implementation end; + function convertImplicitNodeConfigurationToConst(const AValue: TLib3MFImplicitNodeConfiguration): Integer; + begin + case AValue of + eImplicitNodeConfigurationDefault: Result := 1; + eImplicitNodeConfigurationScalarToScalar: Result := 2; + eImplicitNodeConfigurationVectorToVector: Result := 3; + eImplicitNodeConfigurationMatrixToMatrix: Result := 4; + eImplicitNodeConfigurationScalarScalarToScalar: Result := 5; + eImplicitNodeConfigurationVectorVectorToVector: Result := 6; + eImplicitNodeConfigurationScalarToVector: Result := 8; + eImplicitNodeConfigurationVectorToScalar: Result := 9; + eImplicitNodeConfigurationVectorVectorToScalar: Result := 10; + else + raise ELib3MFException.CreateCustomMessage(LIB3MF_ERROR_INVALIDPARAM, 'invalid enum value'); + end; + end; + + function convertConstToImplicitNodeConfiguration(const AValue: Integer): TLib3MFImplicitNodeConfiguration; + begin + case AValue of + 1: Result := eImplicitNodeConfigurationDefault; + 2: Result := eImplicitNodeConfigurationScalarToScalar; + 3: Result := eImplicitNodeConfigurationVectorToVector; + 4: Result := eImplicitNodeConfigurationMatrixToMatrix; + 5: Result := eImplicitNodeConfigurationScalarScalarToScalar; + 6: Result := eImplicitNodeConfigurationVectorVectorToVector; + 8: Result := eImplicitNodeConfigurationScalarToVector; + 9: Result := eImplicitNodeConfigurationVectorToScalar; + 10: Result := eImplicitNodeConfigurationVectorVectorToScalar; + else + raise ELib3MFException.CreateCustomMessage(LIB3MF_ERROR_INVALIDPARAM, 'invalid enum constant'); + end; + end; + + function convertEncryptionAlgorithmToConst(const AValue: TLib3MFEncryptionAlgorithm): Integer; begin case AValue of @@ -12082,13 +12132,13 @@ implementation FWrapper.CheckError(Self, FWrapper.Lib3MFImplicitFunction_SetIdentifierFunc(FHandle, PAnsiChar(AIdentifier))); end; - function TLib3MFImplicitFunction.AddNode(const ANodeType: TLib3MFImplicitNodeType; const AIdentifier: String; const ADisplayName: String; const ATag: String): TLib3MFImplicitNode; + function TLib3MFImplicitFunction.AddNode(const ANodeType: TLib3MFImplicitNodeType; const AConfiguration: TLib3MFImplicitNodeConfiguration; const AIdentifier: String; const ADisplayName: String; const ATag: String): TLib3MFImplicitNode; var HNode: TLib3MFHandle; begin Result := nil; HNode := nil; - FWrapper.CheckError(Self, FWrapper.Lib3MFImplicitFunction_AddNodeFunc(FHandle, convertImplicitNodeTypeToConst(ANodeType), PAnsiChar(AIdentifier), PAnsiChar(ADisplayName), PAnsiChar(ATag), HNode)); + FWrapper.CheckError(Self, FWrapper.Lib3MFImplicitFunction_AddNodeFunc(FHandle, convertImplicitNodeTypeToConst(ANodeType), convertImplicitNodeConfigurationToConst(AConfiguration), PAnsiChar(AIdentifier), PAnsiChar(ADisplayName), PAnsiChar(ATag), HNode)); if Assigned(HNode) then Result := TLib3MFPolymorphicFactory.Make(FWrapper, HNode); end; diff --git a/Autogenerated/Bindings/Python/Lib3MF.py b/Autogenerated/Bindings/Python/Lib3MF.py index 3811e1325..694269257 100644 --- a/Autogenerated/Bindings/Python/Lib3MF.py +++ b/Autogenerated/Bindings/Python/Lib3MF.py @@ -777,6 +777,18 @@ class ImplicitPortType(CTypesEnum): Vector = 2 Matrix = 3 ResourceID = 4 +'''Definition of ImplicitNodeConfiguration +''' +class ImplicitNodeConfiguration(CTypesEnum): + Default = 1 + ScalarToScalar = 2 + VectorToVector = 3 + MatrixToMatrix = 4 + ScalarScalarToScalar = 5 + VectorVectorToVector = 6 + ScalarToVector = 8 + VectorToScalar = 9 + VectorVectorToScalar = 10 '''Definition of EncryptionAlgorithm ''' class EncryptionAlgorithm(CTypesEnum): @@ -2906,7 +2918,7 @@ def _loadFunctionTableFromMethod(self, symbolLookupMethodAddress): err = symbolLookupMethod(ctypes.c_char_p(str.encode("lib3mf_implicitfunction_addnode")), methodAddress) if err != 0: raise ELib3MFException(ErrorCodes.COULDNOTLOADLIBRARY, str(err)) - methodType = ctypes.CFUNCTYPE(ctypes.c_int32, ctypes.c_void_p, ImplicitNodeType, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_void_p)) + methodType = ctypes.CFUNCTYPE(ctypes.c_int32, ctypes.c_void_p, ImplicitNodeType, ImplicitNodeConfiguration, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_void_p)) self.lib.lib3mf_implicitfunction_addnode = methodType(int(methodAddress.value)) err = symbolLookupMethod(ctypes.c_char_p(str.encode("lib3mf_implicitfunction_getnodes")), methodAddress) @@ -4820,7 +4832,7 @@ def _loadFunctionTable(self): self.lib.lib3mf_implicitfunction_setidentifier.argtypes = [ctypes.c_void_p, ctypes.c_char_p] self.lib.lib3mf_implicitfunction_addnode.restype = ctypes.c_int32 - self.lib.lib3mf_implicitfunction_addnode.argtypes = [ctypes.c_void_p, ImplicitNodeType, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_void_p)] + self.lib.lib3mf_implicitfunction_addnode.argtypes = [ctypes.c_void_p, ImplicitNodeType, ImplicitNodeConfiguration, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_void_p)] self.lib.lib3mf_implicitfunction_getnodes.restype = ctypes.c_int32 self.lib.lib3mf_implicitfunction_getnodes.argtypes = [ctypes.c_void_p, ctypes.POINTER(ctypes.c_void_p)] @@ -8271,12 +8283,12 @@ def SetIdentifier(self, Identifier): self._wrapper.checkError(self, self._wrapper.lib.lib3mf_implicitfunction_setidentifier(self._handle, pIdentifier)) - def AddNode(self, NodeType, Identifier, DisplayName, Tag): + def AddNode(self, NodeType, Configuration, Identifier, DisplayName, Tag): pIdentifier = ctypes.c_char_p(str.encode(Identifier)) pDisplayName = ctypes.c_char_p(str.encode(DisplayName)) pTag = ctypes.c_char_p(str.encode(Tag)) NodeHandle = ctypes.c_void_p() - self._wrapper.checkError(self, self._wrapper.lib.lib3mf_implicitfunction_addnode(self._handle, NodeType, pIdentifier, pDisplayName, pTag, NodeHandle)) + self._wrapper.checkError(self, self._wrapper.lib.lib3mf_implicitfunction_addnode(self._handle, NodeType, Configuration, pIdentifier, pDisplayName, pTag, NodeHandle)) if NodeHandle: NodeObject = self._wrapper._polymorphicFactory(NodeHandle) else: diff --git a/Autogenerated/Source/lib3mf_abi.hpp b/Autogenerated/Source/lib3mf_abi.hpp index 9c6bb5504..21d4c319b 100644 --- a/Autogenerated/Source/lib3mf_abi.hpp +++ b/Autogenerated/Source/lib3mf_abi.hpp @@ -3158,13 +3158,14 @@ LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_setidentifier(Lib3MF_Implic * * @param[in] pImplicitFunction - ImplicitFunction instance. * @param[in] eNodeType - the type of the node +* @param[in] eConfiguration - the configuration of the node * @param[in] pIdentifier - the identifier of the node * @param[in] pDisplayName - the display name of the node * @param[in] pTag - the tag of the node * @param[out] pNode - the added node * @return error code or 0 (success) */ -LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); +LIB3MF_DECLSPEC Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, Lib3MF::eImplicitNodeType eNodeType, Lib3MF::eImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode); /** * Retrieves the nodes diff --git a/Autogenerated/Source/lib3mf_interfaces.hpp b/Autogenerated/Source/lib3mf_interfaces.hpp index 98c9c7331..ae3704426 100644 --- a/Autogenerated/Source/lib3mf_interfaces.hpp +++ b/Autogenerated/Source/lib3mf_interfaces.hpp @@ -3218,12 +3218,13 @@ class IImplicitFunction : public virtual IFunction { /** * IImplicitFunction::AddNode - Add a node * @param[in] eNodeType - the type of the node + * @param[in] eConfiguration - the configuration of the node * @param[in] sIdentifier - the identifier of the node * @param[in] sDisplayName - the display name of the node * @param[in] sTag - the tag of the node * @return the added node */ - virtual IImplicitNode * AddNode(const Lib3MF::eImplicitNodeType eNodeType, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) = 0; + virtual IImplicitNode * AddNode(const Lib3MF::eImplicitNodeType eNodeType, const Lib3MF::eImplicitNodeConfiguration eConfiguration, const std::string & sIdentifier, const std::string & sDisplayName, const std::string & sTag) = 0; /** * IImplicitFunction::GetNodes - Retrieves the nodes diff --git a/Autogenerated/Source/lib3mf_interfacewrapper.cpp b/Autogenerated/Source/lib3mf_interfacewrapper.cpp index e2c4b6e2e..282ab405e 100644 --- a/Autogenerated/Source/lib3mf_interfacewrapper.cpp +++ b/Autogenerated/Source/lib3mf_interfacewrapper.cpp @@ -11319,7 +11319,7 @@ Lib3MFResult lib3mf_implicitfunction_setidentifier(Lib3MF_ImplicitFunction pImpl } } -Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode) +Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFunction, eLib3MFImplicitNodeType eNodeType, eLib3MFImplicitNodeConfiguration eConfiguration, const char * pIdentifier, const char * pDisplayName, const char * pTag, Lib3MF_ImplicitNode * pNode) { IBase* pIBaseClass = (IBase *)pImplicitFunction; @@ -11328,6 +11328,7 @@ Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFu if (m_GlobalJournal.get() != nullptr) { pJournalEntry = m_GlobalJournal->beginClassMethod(pImplicitFunction, "ImplicitFunction", "AddNode"); pJournalEntry->addEnumParameter("NodeType", "ImplicitNodeType", (Lib3MF_int32)(eNodeType)); + pJournalEntry->addEnumParameter("Configuration", "ImplicitNodeConfiguration", (Lib3MF_int32)(eConfiguration)); pJournalEntry->addStringParameter("Identifier", pIdentifier); pJournalEntry->addStringParameter("DisplayName", pDisplayName); pJournalEntry->addStringParameter("Tag", pTag); @@ -11348,7 +11349,7 @@ Lib3MFResult lib3mf_implicitfunction_addnode(Lib3MF_ImplicitFunction pImplicitFu if (!pIImplicitFunction) throw ELib3MFInterfaceException(LIB3MF_ERROR_INVALIDCAST); - pBaseNode = pIImplicitFunction->AddNode(eNodeType, sIdentifier, sDisplayName, sTag); + pBaseNode = pIImplicitFunction->AddNode(eNodeType, eConfiguration, sIdentifier, sDisplayName, sTag); *pNode = (IBase*)(pBaseNode); if (pJournalEntry.get() != nullptr) { diff --git a/Autogenerated/Source/lib3mf_types.hpp b/Autogenerated/Source/lib3mf_types.hpp index cd740ada1..d34084760 100644 --- a/Autogenerated/Source/lib3mf_types.hpp +++ b/Autogenerated/Source/lib3mf_types.hpp @@ -447,6 +447,21 @@ namespace Lib3MF { ResourceID = 4 /** Resource ID */ }; + /** + * enum class eImplicitNodeConfiguration - Defines the input and output types of a node + */ + enum class eImplicitNodeConfiguration : Lib3MF_int32 { + Default = 1, /** Default */ + ScalarToScalar = 2, /** Scalar -> Scalar */ + VectorToVector = 3, /** Vector -> Vector */ + MatrixToMatrix = 4, /** Matrix -> Matrix */ + ScalarScalarToScalar = 5, /** Scalar, Scalar -> Scalar */ + VectorVectorToVector = 6, /** Vector, Vector -> Vector */ + ScalarToVector = 8, /** Scalar -> Vector */ + VectorToScalar = 9, /** Vector -> Scalar */ + VectorVectorToScalar = 10 /** Vector, Vector -> Scalar */ + }; + enum class eEncryptionAlgorithm : Lib3MF_int32 { AES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */ }; @@ -646,6 +661,7 @@ typedef Lib3MF::eCompositionMethod eLib3MFCompositionMethod; typedef Lib3MF::eCompositionSpace eLib3MFCompositionSpace; typedef Lib3MF::eImplicitNodeType eLib3MFImplicitNodeType; typedef Lib3MF::eImplicitPortType eLib3MFImplicitPortType; +typedef Lib3MF::eImplicitNodeConfiguration eLib3MFImplicitNodeConfiguration; typedef Lib3MF::eEncryptionAlgorithm eLib3MFEncryptionAlgorithm; typedef Lib3MF::eWrappingAlgorithm eLib3MFWrappingAlgorithm; typedef Lib3MF::eMgfAlgorithm eLib3MFMgfAlgorithm; diff --git a/AutomaticComponentToolkit/lib3mf.xml b/AutomaticComponentToolkit/lib3mf.xml index fd7e5cf1d..cb6b8735f 100644 --- a/AutomaticComponentToolkit/lib3mf.xml +++ b/AutomaticComponentToolkit/lib3mf.xml @@ -1823,7 +1823,19 @@