Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Squashing all toolpath implementation commits into a single PR, Rebasing to Develop #388

Merged
merged 34 commits into from
Aug 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
5cc9ae9
Implementation of Toolpath Extension
alexanderoster Nov 29, 2022
45b61b6
New Toolpath Implementation
alexanderoster Dec 7, 2022
1003e50
Updated Build files
alexanderoster Dec 13, 2022
1699d7a
Fixed toolpath stream retrieval
alexanderoster Dec 15, 2022
1bc9c3b
Merge branch 'develop' into toolpath_new
alexanderoster Mar 1, 2023
6f3d838
New Bindings
alexanderoster Mar 1, 2023
015ddb8
Added Profile Value enumeration
alexanderoster Mar 1, 2023
4c4ab3b
toolpath profile fix
alexanderoster Mar 2, 2023
924bdea
Custom XML DOM Tree Classes
alexanderoster May 23, 2023
86c7221
Added Reading of custom XML Data
alexanderoster May 23, 2023
864b1d7
Autogenerated Files
alexanderoster May 23, 2023
fb1b5ce
Implemented Toolpath Metadata
alexanderoster May 25, 2023
16a6ca2
Lib3MF Autogenerated header
alexanderoster May 25, 2023
5157838
Updated makefile
alexanderoster May 25, 2023
5956d91
Implemented XMLNode SaveToString
alexanderoster May 30, 2023
99d70a0
Autogenerated Files
alexanderoster May 30, 2023
3418b9a
Added Binary Streams and Toolpath segment attributes
alexanderoster Jun 27, 2023
18d4e55
Improved Toolpath Segment Attributes
alexanderoster Jun 28, 2023
0586a43
Finished custom segment attributes
alexanderoster Jul 3, 2023
d852804
Finished custom segment attributes
alexanderoster Jul 3, 2023
cd7fa27
Compile fixes
alexanderoster Jul 4, 2023
516f223
removed temp file
alexanderoster Jul 4, 2023
e74fd4a
fixed layer write data prefix
alexanderoster Jul 7, 2023
b3c95df
Do not write full header element
alexanderoster Jul 7, 2023
ffd2dda
Added Custom XML Parameter exports
alexanderoster Jul 11, 2023
9748f76
Toolpath API changed
alexanderoster Jul 15, 2023
b817e32
Added Compression control on binary stream writer
alexanderoster Feb 21, 2024
2f3952c
Implemented new Binary Encoding spec
alexanderoster Jun 8, 2024
e2ed3a9
Turned Tests off
netfabb Jul 18, 2024
21aa856
Lib3MF Linux fixes
netfabb Jul 18, 2024
1c3e445
Fixed Custom Registration error
netfabb Jul 19, 2024
c852ea7
Added PartID to Toolpath Reader
netfabb Jul 20, 2024
1b08236
Merge branch 'develop' into toolpath_new
netfabb Aug 9, 2024
e46b770
fixed merge issue
netfabb Aug 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,460 changes: 2,460 additions & 1,000 deletions Autogenerated/Bindings/C/lib3mf.h

Large diffs are not rendered by default.

88 changes: 86 additions & 2 deletions Autogenerated/Bindings/C/lib3mf_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,27 @@ typedef void * Lib3MF_pvoid;
#define LIB3MF_ERROR_UNKOWNPROGRESSIDENTIFIER 140 /** A progress identifier is unknown */
#define LIB3MF_ERROR_ELEMENTCOUNTEXCEEDSLIMIT 141 /** An element buffer exceeds its spec limit */
#define LIB3MF_ERROR_INVALIDRESOURCE 142 /** A resource is invalid */
#define LIB3MF_ERROR_INVALIDNODEINDEX 143 /** Invalid node index */
#define LIB3MF_ERROR_INVALIDATTRIBUTEINDEX 144 /** Invalid attribute index */
#define LIB3MF_ERROR_DUPLICATECUSTOMDATA 145 /** Duplicate custom data */
#define LIB3MF_ERROR_CUSTOMDATANOTFOUND 146 /** Custom data not found */
#define LIB3MF_ERROR_BEAMLATTICE_INVALID_OBJECTTYPE 2000 /** This object type is not valid for beamlattices */
#define LIB3MF_ERROR_INVALIDKEYSTORE 3000 /** The keystore object is invalid */
#define LIB3MF_ERROR_INVALIDKEYSTORECONSUMER 3001 /** The consumer keystore object is invalid */
#define LIB3MF_ERROR_KEYSTORECONSUMERNOTFOUND 3002 /** A consumer has not been found */
#define LIB3MF_ERROR_KEYSTORERESOURCEDATANOTFOUND 3003 /** A resource data has not been found */
#define LIB3MF_ERROR_SECURECONTEXTNOTREGISTERED 3004 /** A Key or Conentent encryption callback has not been registered */
#define LIB3MF_ERROR_INVALIDKEYSIZE 3005 /** The key siue is invalid */
#define LIB3MF_ERROR_INVALIDKEYSIZE 3005 /** The key size is invalid */
#define LIB3MF_ERROR_TOOLPATH_NOTWRITINGHEADER 4000 /** Not in toolpath header writing mode */
#define LIB3MF_ERROR_TOOLPATH_NOTWRITINGDATA 4001 /** Not in toolpath data writing mode */
#define LIB3MF_ERROR_TOOLPATH_DATAHASBEENWRITTEN 4002 /** Toolpath has already been written out */
#define LIB3MF_ERROR_TOOLPATH_INVALIDPOINTCOUNT 4003 /** Toolpath has an invalid number of points */
#define LIB3MF_ERROR_TOOLPATH_ATTRIBUTEALREADYDEFINED 4004 /** Toolpath attribute already defined */
#define LIB3MF_ERROR_TOOLPATH_INVALIDATTRIBUTETYPE 4005 /** Toolpath attribute is of invalid type */
#define LIB3MF_ERROR_EMPTYNAMESPACEPREFIX 4006 /** Empty namespace prefix. */
#define LIB3MF_ERROR_EMPTYNAMESPACE 4007 /** Empty namespace. */
#define LIB3MF_ERROR_INVALIDNAMESPACEPREFIX 4008 /** Invalid namespace prefix. */
#define LIB3MF_ERROR_WRITERDOESNOTSUPPORTNAMESPACES 4009 /** Writer does not support namespaces. */

/*************************************************************************************************************************
Error strings for Lib3MF
Expand Down Expand Up @@ -181,13 +195,27 @@ inline const char * LIB3MF_GETERRORSTRING (Lib3MFResult nErrorCode) {
case LIB3MF_ERROR_UNKOWNPROGRESSIDENTIFIER: return "A progress identifier is unknown";
case LIB3MF_ERROR_ELEMENTCOUNTEXCEEDSLIMIT: return "An element buffer exceeds its spec limit";
case LIB3MF_ERROR_INVALIDRESOURCE: return "A resource is invalid";
case LIB3MF_ERROR_INVALIDNODEINDEX: return "Invalid node index";
case LIB3MF_ERROR_INVALIDATTRIBUTEINDEX: return "Invalid attribute index";
case LIB3MF_ERROR_DUPLICATECUSTOMDATA: return "Duplicate custom data";
case LIB3MF_ERROR_CUSTOMDATANOTFOUND: return "Custom data not found";
case LIB3MF_ERROR_BEAMLATTICE_INVALID_OBJECTTYPE: return "This object type is not valid for beamlattices";
case LIB3MF_ERROR_INVALIDKEYSTORE: return "The keystore object is invalid";
case LIB3MF_ERROR_INVALIDKEYSTORECONSUMER: return "The consumer keystore object is invalid";
case LIB3MF_ERROR_KEYSTORECONSUMERNOTFOUND: return "A consumer has not been found";
case LIB3MF_ERROR_KEYSTORERESOURCEDATANOTFOUND: return "A resource data has not been found";
case LIB3MF_ERROR_SECURECONTEXTNOTREGISTERED: return "A Key or Conentent encryption callback has not been registered";
case LIB3MF_ERROR_INVALIDKEYSIZE: return "The key siue is invalid";
case LIB3MF_ERROR_INVALIDKEYSIZE: return "The key size is invalid";
case LIB3MF_ERROR_TOOLPATH_NOTWRITINGHEADER: return "Not in toolpath header writing mode";
case LIB3MF_ERROR_TOOLPATH_NOTWRITINGDATA: return "Not in toolpath data writing mode";
case LIB3MF_ERROR_TOOLPATH_DATAHASBEENWRITTEN: return "Toolpath has already been written out";
case LIB3MF_ERROR_TOOLPATH_INVALIDPOINTCOUNT: return "Toolpath has an invalid number of points";
case LIB3MF_ERROR_TOOLPATH_ATTRIBUTEALREADYDEFINED: return "Toolpath attribute already defined";
case LIB3MF_ERROR_TOOLPATH_INVALIDATTRIBUTETYPE: return "Toolpath attribute is of invalid type";
case LIB3MF_ERROR_EMPTYNAMESPACEPREFIX: return "Empty namespace prefix.";
case LIB3MF_ERROR_EMPTYNAMESPACE: return "Empty namespace.";
case LIB3MF_ERROR_INVALIDNAMESPACEPREFIX: return "Invalid namespace prefix.";
case LIB3MF_ERROR_WRITERDOESNOTSUPPORTNAMESPACES: return "Writer does not support namespaces.";
default: return "unknown error";
}
}
Expand All @@ -197,11 +225,17 @@ inline const char * LIB3MF_GETERRORSTRING (Lib3MFResult nErrorCode) {
**************************************************************************************************************************/

typedef Lib3MFHandle Lib3MF_Base;
typedef Lib3MFHandle Lib3MF_BinaryStream;
typedef Lib3MFHandle Lib3MF_Writer;
typedef Lib3MFHandle Lib3MF_PersistentReaderSource;
typedef Lib3MFHandle Lib3MF_Reader;
typedef Lib3MFHandle Lib3MF_PackagePart;
typedef Lib3MFHandle Lib3MF_Resource;
typedef Lib3MFHandle Lib3MF_ResourceIterator;
typedef Lib3MFHandle Lib3MF_CustomXMLAttribute;
typedef Lib3MFHandle Lib3MF_CustomXMLNode;
typedef Lib3MFHandle Lib3MF_CustomXMLNodes;
typedef Lib3MFHandle Lib3MF_CustomDOMTree;
typedef Lib3MFHandle Lib3MF_SliceStackIterator;
typedef Lib3MFHandle Lib3MF_ObjectIterator;
typedef Lib3MFHandle Lib3MF_MeshObjectIterator;
Expand Down Expand Up @@ -230,6 +264,11 @@ typedef Lib3MFHandle Lib3MF_Texture2D;
typedef Lib3MFHandle Lib3MF_BuildItem;
typedef Lib3MFHandle Lib3MF_BuildItemIterator;
typedef Lib3MFHandle Lib3MF_Slice;
typedef Lib3MFHandle Lib3MF_ToolpathProfile;
typedef Lib3MFHandle Lib3MF_ToolpathLayerReader;
typedef Lib3MFHandle Lib3MF_ToolpathLayerData;
typedef Lib3MFHandle Lib3MF_Toolpath;
typedef Lib3MFHandle Lib3MF_ToolpathIterator;
typedef Lib3MFHandle Lib3MF_SliceStack;
typedef Lib3MFHandle Lib3MF_Consumer;
typedef Lib3MFHandle Lib3MF_AccessRight;
Expand Down Expand Up @@ -257,6 +296,13 @@ typedef enum eLib3MFSlicesMeshResolution {
eSlicesMeshResolutionLowres = 1
} eLib3MFSlicesMeshResolution;

typedef enum eLib3MFPersistentReaderSourceType {
ePersistentReaderSourceTypeUnknown = 0,
ePersistentReaderSourceTypeFileOnDisk = 1,
ePersistentReaderSourceTypeMemoryBuffer = 2,
ePersistentReaderSourceTypeCallback = 3
} eLib3MFPersistentReaderSourceType;

typedef enum eLib3MFModelUnit {
eModelUnitMicroMeter = 0,
eModelUnitMilliMeter = 1,
Expand Down Expand Up @@ -310,6 +356,11 @@ typedef enum eLib3MFBeamLatticeBallMode {
eBeamLatticeBallModeAll = 2
} eLib3MFBeamLatticeBallMode;

typedef enum eLib3MFBinaryStreamPredictionType {
eBinaryStreamPredictionTypeNoPrediction = 0,
eBinaryStreamPredictionTypeDeltaPrediction = 1
} eLib3MFBinaryStreamPredictionType;

typedef enum eLib3MFProgressIdentifier {
eProgressIdentifierQUERYCANCELED = 0,
eProgressIdentifierDONE = 1,
Expand Down Expand Up @@ -343,6 +394,19 @@ typedef enum eLib3MFBlendMethod {
eBlendMethodMultiply = 2
} eLib3MFBlendMethod;

typedef enum eLib3MFToolpathSegmentType {
eToolpathSegmentTypeUnknown = 0,
eToolpathSegmentTypeHatch = 1,
eToolpathSegmentTypeLoop = 2,
eToolpathSegmentTypePolyline = 3
} eLib3MFToolpathSegmentType;

typedef enum eLib3MFToolpathAttributeType {
eToolpathAttributeTypeUnknown = 0,
eToolpathAttributeTypeInteger = 1,
eToolpathAttributeTypeDouble = 2
} eLib3MFToolpathAttributeType;

typedef enum eLib3MFEncryptionAlgorithm {
eEncryptionAlgorithmAES256_GCM = 1 /** http://www.w3.org/2009/xmlenc11#aes256-gcm */
} eLib3MFEncryptionAlgorithm;
Expand Down Expand Up @@ -383,6 +447,11 @@ typedef union {
int m_code;
} structEnumLib3MFSlicesMeshResolution;

typedef union {
eLib3MFPersistentReaderSourceType m_enum;
int m_code;
} structEnumLib3MFPersistentReaderSourceType;

typedef union {
eLib3MFModelUnit m_enum;
int m_code;
Expand Down Expand Up @@ -423,6 +492,11 @@ typedef union {
int m_code;
} structEnumLib3MFBeamLatticeBallMode;

typedef union {
eLib3MFBinaryStreamPredictionType m_enum;
int m_code;
} structEnumLib3MFBinaryStreamPredictionType;

typedef union {
eLib3MFProgressIdentifier m_enum;
int m_code;
Expand All @@ -433,6 +507,16 @@ typedef union {
int m_code;
} structEnumLib3MFBlendMethod;

typedef union {
eLib3MFToolpathSegmentType m_enum;
int m_code;
} structEnumLib3MFToolpathSegmentType;

typedef union {
eLib3MFToolpathAttributeType m_enum;
int m_code;
} structEnumLib3MFToolpathAttributeType;

typedef union {
eLib3MFEncryptionAlgorithm m_enum;
int m_code;
Expand Down
Loading
Loading