.TH "SoSTLFileKit" 3 "Fri Sep 6 2024 15:32:06" "Version 4.0.3" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoSTLFileKit \- \fBSoSTLFileKit\fP is a class for using STL files with Coin\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBSoForeignFileKit\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBColorization\fP { \fBGREY\fP, \fBMATERIALISE\fP, \fBTNO_VISICAM\fP }" .br .in -1c Public Types inherited from \fBSoNode\fP .in +1c .ti -1c .RI "enum \fBNodeType\fP { \fBINVENTOR\fP = 0x0000, \fBVRML1\fP = 0x0001, \fBVRML2\fP = 0x0002, \fBINVENTOR_1\fP = 0x0004, \fBINVENTOR_2_0\fP = 0x0008, \fBINVENTOR_2_1\fP = 0x0010, \fBINVENTOR_2_5\fP = 0x0020, \fBINVENTOR_2_6\fP = 0x0040, \fBCOIN_1_0\fP = 0x0080, \fBCOIN_2_0\fP = 0x0100, \fBEXTENSION\fP = 0x0200, \fBCOIN_2_2\fP = 0x0400, \fBCOIN_2_3\fP = 0x0800, \fBCOIN_2_4\fP = 0x1000, \fBINVENTOR_5_0\fP = 0x2000, \fBCOIN_2_5\fP = 0x4000, \fBCOIN_3_0\fP = 0x8000, \fBINVENTOR_6_0\fP = 0x10000, \fBCOIN_4_0\fP = 0x20000 }" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const" .br .ti -1c .RI "virtual const \fBSoNodekitCatalog\fP * \fBgetNodekitCatalog\fP (void) const" .br .ti -1c .RI "\fBSoSTLFileKit\fP (void)" .br .ti -1c .RI "virtual SbBool \fBcanReadFile\fP (const char *filename=NULL) const" .br .ti -1c .RI "virtual SbBool \fBreadFile\fP (const char *filename)" .br .ti -1c .RI "virtual SbBool \fBcanWriteFile\fP (const char *filename=NULL) const" .br .ti -1c .RI "virtual SbBool \fBwriteFile\fP (const char *filename)" .br .ti -1c .RI "SbBool \fBcanReadScene\fP (void) const" .br .ti -1c .RI "SbBool \fBreadScene\fP (\fBSoNode\fP *scene)" .br .ti -1c .RI "virtual \fBSoSeparator\fP * \fBconvert\fP ()" .br .in -1c Public Member Functions inherited from \fBSoForeignFileKit\fP Public Member Functions inherited from \fBSoBaseKit\fP .in +1c .ti -1c .RI "\fBSoBaseKit\fP (void)" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBgetPart\fP (const \fBSbName\fP &partname, SbBool makeifneeded)" .br .ti -1c .RI "\fBSbString\fP \fBgetPartString\fP (const \fBSoBase\fP *part)" .br .ti -1c .RI "virtual \fBSoNodeKitPath\fP * \fBcreatePathToPart\fP (const \fBSbName\fP &partname, SbBool makeifneeded, const \fBSoPath\fP *pathtoextend=NULL)" .br .ti -1c .RI "virtual SbBool \fBsetPart\fP (const \fBSbName\fP &partname, \fBSoNode\fP *from)" .br .ti -1c .RI "SbBool \fBset\fP (const char *namevaluepairliststring)" .br .ti -1c .RI "SbBool \fBset\fP (const char *partnamestring, const char *parameterstring)" .br .ti -1c .RI "virtual void \fBdoAction\fP (\fBSoAction\fP *action)" .br .ti -1c .RI "virtual void \fBcallback\fP (\fBSoCallbackAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRender\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBgetBoundingBox\fP (\fBSoGetBoundingBoxAction\fP *action)" .br .ti -1c .RI "virtual void \fBgetMatrix\fP (\fBSoGetMatrixAction\fP *action)" .br .ti -1c .RI "virtual void \fBhandleEvent\fP (\fBSoHandleEventAction\fP *action)" .br .ti -1c .RI "virtual void \fBrayPick\fP (\fBSoRayPickAction\fP *action)" .br .ti -1c .RI "virtual void \fBsearch\fP (\fBSoSearchAction\fP *action)" .br .ti -1c .RI "virtual void \fBwrite\fP (\fBSoWriteAction\fP *action)" .br .ti -1c .RI "virtual void \fBgetPrimitiveCount\fP (\fBSoGetPrimitiveCountAction\fP *action)" .br .ti -1c .RI "virtual \fBSoChildList\fP * \fBgetChildren\fP (void) const" .br .ti -1c .RI "void \fBprintDiagram\fP (void)" .br .ti -1c .RI "void \fBprintSubDiagram\fP (const \fBSbName\fP &rootname, int level)" .br .ti -1c .RI "void \fBprintTable\fP (void)" .br .ti -1c .RI "virtual void \fBaddWriteReference\fP (\fBSoOutput\fP *out, SbBool isfromfield=FALSE)" .br .ti -1c .RI "SbBool \fBforceChildDrivenWriteRefs\fP (\fBSoOutput\fP *out)" .br .in -1c Public Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "void \fBsetOverride\fP (const SbBool state)" .br .ti -1c .RI "SbBool \fBisOverride\fP (void) const" .br .ti -1c .RI "void \fBsetNodeType\fP (const \fBNodeType\fP type)" .br .ti -1c .RI "\fBNodeType\fP \fBgetNodeType\fP (void) const" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBcopy\fP (SbBool copyconnections=FALSE) const" .br .ti -1c .RI "virtual SbBool \fBaffectsState\fP (void) const" .br .ti -1c .RI "virtual void \fBGLRenderBelowPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRenderInPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBGLRenderOffPath\fP (\fBSoGLRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBpick\fP (\fBSoPickAction\fP *action)" .br .ti -1c .RI "virtual void \fBaudioRender\fP (\fBSoAudioRenderAction\fP *action)" .br .ti -1c .RI "virtual void \fBgrabEventsSetup\fP (void)" .br .ti -1c .RI "virtual void \fBgrabEventsCleanup\fP (void)" .br .ti -1c .RI "virtual void \fBstartNotify\fP (void)" .br .ti -1c .RI "virtual void \fBnotify\fP (\fBSoNotList\fP *l)" .br .ti -1c .RI "SbUniqueId \fBgetNodeId\fP (void) const" .br .ti -1c .RI "virtual void \fBwriteInstance\fP (\fBSoOutput\fP *out)" .br .ti -1c .RI "virtual \fBSoFieldContainer\fP * \fBcopyThroughConnection\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "void \fBsetToDefaults\fP (void)" .br .ti -1c .RI "SbBool \fBhasDefaultValues\fP (void) const" .br .ti -1c .RI "SbBool \fBfieldsAreEqual\fP (const \fBSoFieldContainer\fP *container) const" .br .ti -1c .RI "void \fBcopyFieldValues\fP (const \fBSoFieldContainer\fP *container, SbBool copyconnections=FALSE)" .br .ti -1c .RI "SbBool \fBset\fP (const char *const fielddata)" .br .ti -1c .RI "void \fBget\fP (\fBSbString\fP &fielddata)" .br .ti -1c .RI "virtual int \fBgetFields\fP (\fBSoFieldList\fP &l) const" .br .ti -1c .RI "virtual int \fBgetAllFields\fP (\fBSoFieldList\fP &l) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetField\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetEventIn\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "virtual \fBSoField\fP * \fBgetEventOut\fP (const \fBSbName\fP &name) const" .br .ti -1c .RI "SbBool \fBgetFieldName\fP (const \fBSoField\fP *const field, \fBSbName\fP &name) const" .br .ti -1c .RI "SbBool \fBenableNotify\fP (const SbBool flag)" .br .ti -1c .RI "SbBool \fBisNotifyEnabled\fP (void) const" .br .ti -1c .RI "SbBool \fBset\fP (const char *fielddata, \fBSoInput\fP *input)" .br .ti -1c .RI "void \fBget\fP (\fBSbString\fP &fielddata, \fBSoOutput\fP *out)" .br .ti -1c .RI "virtual SbBool \fBvalidateNewFieldValue\fP (\fBSoField\fP *field, void *newval)" .br .ti -1c .RI "SbBool \fBgetIsBuiltIn\fP (void) const" .br .ti -1c .RI "virtual void \fBgetFieldsMemorySize\fP (size_t &managed, size_t &unmanaged) const" .br .ti -1c .RI "void \fBsetUserData\fP (void *userdata) const" .br .ti -1c .RI "void * \fBgetUserData\fP (void) const" .br .in -1c Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "void \fBref\fP (void) const" .br .ti -1c .RI "void \fBunref\fP (void) const" .br .ti -1c .RI "void \fBunrefNoDelete\fP (void) const" .br .ti -1c .RI "int32_t \fBgetRefCount\fP (void) const" .br .ti -1c .RI "void \fBtouch\fP (void)" .br .ti -1c .RI "SbBool \fBisOfType\fP (\fBSoType\fP type) const" .br .RI "Returns \fRTRUE\fP if the type of this object is either of the same type or inherited from \fItype\fP\&. " .ti -1c .RI "virtual \fBSbName\fP \fBgetName\fP (void) const" .br .ti -1c .RI "virtual void \fBsetName\fP (const \fBSbName\fP &newname)" .br .ti -1c .RI "void \fBaddAuditor\fP (void *const auditor, const \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "void \fBremoveAuditor\fP (void *const auditor, const \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "const \fBSoAuditorList\fP & \fBgetAuditors\fP (void) const" .br .ti -1c .RI "SbBool \fBshouldWrite\fP (void)" .br .ti -1c .RI "void \fBassertAlive\fP (void) const" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP * \fBgetClassNodekitCatalog\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static SbBool \fBidentify\fP (const char *filename)" .br .in -1c Static Public Member Functions inherited from \fBSoForeignFileKit\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP * \fBgetClassNodekitCatalog\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static SbBool \fBisFileSupported\fP (\fBSoInput\fP *in, SbBool exhaust=FALSE)" .br .ti -1c .RI "static SbBool \fBisFileSupported\fP (const char *filename, SbBool exhaust=FALSE)" .br .ti -1c .RI "static \fBSoForeignFileKit\fP * \fBcreateForeignFileKit\fP (\fBSoInput\fP *in, SbBool exhaust=FALSE)" .br .ti -1c .RI "static \fBSoForeignFileKit\fP * \fBcreateForeignFileKit\fP (const char *filename, SbBool exhaust=FALSE)" .br .in -1c Static Public Member Functions inherited from \fBSoBaseKit\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP * \fBgetClassNodekitCatalog\fP (void)" .br .ti -1c .RI "static SbBool \fBisSearchingChildren\fP (void)" .br .ti -1c .RI "static void \fBsetSearchingChildren\fP (const SbBool newval)" .br .in -1c Static Public Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static uint32_t \fBgetCompatibilityTypes\fP (const \fBSoType\fP &nodetype)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static \fBSoNode\fP * \fBgetByName\fP (const \fBSbName\fP &name)" .br .ti -1c .RI "static int \fBgetByName\fP (const \fBSbName\fP &name, \fBSoNodeList\fP &l)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static void \fBinitClasses\fP (void)" .br .ti -1c .RI "static SbUniqueId \fBgetNextNodeId\fP (void)" .br .ti -1c .RI "static int \fBgetActionMethodIndex\fP (const \fBSoType\fP type)" .br .ti -1c .RI "static void \fBgetBoundingBoxS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBGLRenderS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBcallbackS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBgetMatrixS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBhandleEventS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBpickS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBrayPickS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBsearchS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBwriteS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBaudioRenderS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .ti -1c .RI "static void \fBgetPrimitiveCountS\fP (\fBSoAction\fP *action, \fBSoNode\fP *node)" .br .in -1c Static Public Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBcleanupClass\fP (void)" .br .ti -1c .RI "static void \fBinitCopyDict\fP (void)" .br .ti -1c .RI "static void \fBaddCopy\fP (const \fBSoFieldContainer\fP *orig, const \fBSoFieldContainer\fP *copy)" .br .ti -1c .RI "static \fBSoFieldContainer\fP * \fBcheckCopy\fP (const \fBSoFieldContainer\fP *orig)" .br .ti -1c .RI "static \fBSoFieldContainer\fP * \fBfindCopy\fP (const \fBSoFieldContainer\fP *orig, const SbBool copyconnections)" .br .ti -1c .RI "static void \fBcopyDone\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBaddName\fP (\fBSoBase\fP *const base, const char *const name)" .br .ti -1c .RI "static void \fBremoveName\fP (\fBSoBase\fP *const base, const char *const name)" .br .ti -1c .RI "static void \fBincrementCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static void \fBdecrementCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static \fBSoBase\fP * \fBgetNamedBase\fP (const \fBSbName\fP &name, \fBSoType\fP type)" .br .ti -1c .RI "static int \fBgetNamedBases\fP (const \fBSbName\fP &name, \fBSoBaseList\fP &baselist, \fBSoType\fP type)" .br .ti -1c .RI "static SbBool \fBread\fP (\fBSoInput\fP *input, \fBSoBase\fP *&base, \fBSoType\fP expectedtype)" .br .ti -1c .RI "static void \fBsetInstancePrefix\fP (const \fBSbString\fP &c)" .br .ti -1c .RI "static void \fBsetTraceRefs\fP (SbBool trace)" .br .ti -1c .RI "static SbBool \fBgetTraceRefs\fP (void)" .br .ti -1c .RI "static SbBool \fBconnectRoute\fP (\fBSoInput\fP *input, const \fBSbName\fP &fromnodename, const \fBSbName\fP &fromfieldname, const \fBSbName\fP &tonodename, const \fBSbName\fP &tofieldname)" .br .ti -1c .RI "static SbBool \fBreadRoute\fP (\fBSoInput\fP *input)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBSoSFString\fP \fBinfo\fP" .br .ti -1c .RI "\fBSoSFBool\fP \fBbinary\fP" .br .ti -1c .RI "\fBSoSFEnum\fP \fBcolorization\fP" .br .in -1c Public Attributes inherited from \fBSoBase\fP .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoFieldData\fP * \fBgetFieldData\fP (void) const" .br .ti -1c .RI "virtual \fB~SoSTLFileKit\fP (void)" .br .ti -1c .RI "void \fBreset\fP (void)" .br .ti -1c .RI "SbBool \fBaddFacet\fP (const \fBSbVec3f\fP &v1, const \fBSbVec3f\fP &v2, const \fBSbVec3f\fP &v3, const \fBSbVec3f\fP &normal)" .br .ti -1c .RI "void \fBorganizeModel\fP (void)" .br .in -1c Protected Member Functions inherited from \fBSoForeignFileKit\fP Protected Member Functions inherited from \fBSoBaseKit\fP .in +1c .ti -1c .RI "virtual \fB~SoBaseKit\fP ()" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBaddToCopyDict\fP (void) const" .br .ti -1c .RI "virtual void \fBcopyContents\fP (const \fBSoFieldContainer\fP *fromfc, SbBool copyconnections)" .br .ti -1c .RI "\fBSoGroup\fP * \fBgetContainerNode\fP (const \fBSbName\fP &listname, SbBool makeifneeded=TRUE)" .br .ti -1c .RI "virtual \fBSoNode\fP * \fBgetAnyPart\fP (const \fBSbName\fP &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE)" .br .ti -1c .RI "virtual \fBSoNodeKitPath\fP * \fBcreatePathToAnyPart\fP (const \fBSbName\fP &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const \fBSoPath\fP *pathtoextend=NULL)" .br .ti -1c .RI "virtual SbBool \fBsetAnyPart\fP (const \fBSbName\fP &partname, \fBSoNode\fP *from, SbBool anypart=TRUE)" .br .ti -1c .RI "void \fBcreateNodekitPartsList\fP (void)" .br .ti -1c .RI "void \fBcreateFieldList\fP (void)" .br .ti -1c .RI "virtual void \fBcreateDefaultParts\fP (void)" .br .ti -1c .RI "const SoNodekitParts * \fBgetNodekitPartsList\fP (void) const" .br .ti -1c .RI "const \fBSbList\fP< \fBSoSFNode\fP * > & \fBgetCatalogInstances\fP (void) const" .br .ti -1c .RI "void \fBcatalogError\fP (void)" .br .ti -1c .RI "virtual SbBool \fBsetUpConnections\fP (SbBool onoff, SbBool doitalways=FALSE)" .br .ti -1c .RI "virtual SbBool \fBreadInstance\fP (\fBSoInput\fP *in, unsigned short flags)" .br .ti -1c .RI "virtual void \fBsetDefaultOnNonWritingFields\fP (void)" .br .ti -1c .RI "void \fBcountMyFields\fP (\fBSoOutput\fP *out)" .br .ti -1c .RI "virtual SbBool \fBsetPart\fP (const int partNum, \fBSoNode\fP *node)" .br .in -1c Protected Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "\fBSoNode\fP (void)" .br .ti -1c .RI "virtual \fB~SoNode\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "\fBSoFieldContainer\fP (void)" .br .ti -1c .RI "virtual \fB~SoFieldContainer\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "\fBSoBase\fP (void)" .br .ti -1c .RI "virtual \fB~SoBase\fP ()" .br .ti -1c .RI "virtual void \fBdestroy\fP (void)" .br .ti -1c .RI "SbBool \fBhasMultipleWriteRefs\fP (void) const" .br .ti -1c .RI "SbBool \fBwriteHeader\fP (\fBSoOutput\fP *out, SbBool isgroup, SbBool isengine) const" .br .ti -1c .RI "void \fBwriteFooter\fP (\fBSoOutput\fP *out) const" .br .ti -1c .RI "virtual const char * \fBgetFileFormatName\fP (void) const" .br .ti -1c .RI "virtual \fBSoNotRec\fP \fBcreateNotRec\fP (void)" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP ** \fBgetClassNodekitCatalogPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoForeignFileKit\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP ** \fBgetClassNodekitCatalogPtr\fP (void)" .br .ti -1c .RI "static void \fBinitClasses\fP (void)" .br .ti -1c .RI "static SbBool \fBregisterFileExtension\fP (\fBSoType\fP handler, \fBSbName\fP extension, SoForeignFileIdentifyFunc *identify)" .br .in -1c Static Protected Member Functions inherited from \fBSoBaseKit\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static const \fBSoNodekitCatalog\fP ** \fBgetClassNodekitCatalogPtr\fP (void)" .br .in -1c Static Protected Member Functions inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static void \fBsetNextActionMethodIndex\fP (int index)" .br .ti -1c .RI "static int \fBgetNextActionMethodIndex\fP (void)" .br .ti -1c .RI "static void \fBincNextActionMethodIndex\fP (void)" .br .ti -1c .RI "static void \fBsetCompatibilityTypes\fP (const \fBSoType\fP &nodetype, const uint32_t bitmask)" .br .in -1c Static Protected Member Functions inherited from \fBSoBase\fP .in +1c .ti -1c .RI "static uint32_t \fBgetCurrentWriteCounter\fP (void)" .br .ti -1c .RI "static void \fBstaticDataLock\fP (void)" .br .ti -1c .RI "static void \fBstaticDataUnlock\fP (void)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBSoSFNode\fP \fBshapehints\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBtexture\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBnormalbinding\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBnormals\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBmaterialbinding\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBmaterial\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBcoordinates\fP" .br .ti -1c .RI "\fBSoSFNode\fP \fBfacets\fP" .br .in -1c Protected Attributes inherited from \fBSoForeignFileKit\fP .in +1c .ti -1c .RI "\fBSoSFNode\fP \fBtopSeparator\fP" .br .in -1c Protected Attributes inherited from \fBSoBaseKit\fP .in +1c .ti -1c .RI "\fBSoSFNode\fP \fBcallbackList\fP" .br .ti -1c .RI "\fBSoChildList\fP * \fBchildren\fP" .br .ti -1c .RI "SbBool \fBconnectionsSetUp\fP" .br .in -1c Protected Attributes inherited from \fBSoNode\fP .in +1c .ti -1c .RI "SbUniqueId \fBuniqueId\fP" .br .in -1c Protected Attributes inherited from \fBSoFieldContainer\fP .in +1c .ti -1c .RI "SbBool \fBisBuiltIn\fP" .br .in -1c .SS "Additional Inherited Members" Protected Types inherited from \fBSoBase\fP .in +1c .ti -1c .RI "enum \fBBaseFlags\fP { \fBIS_ENGINE\fP = 0x01, \fBIS_GROUP\fP = 0x02 }" .br .in -1c Static Protected Attributes inherited from \fBSoNode\fP .in +1c .ti -1c .RI "static SbUniqueId \fBnextUniqueId\fP = 1" .br .ti -1c .RI "static int \fBnextActionMethodIndex\fP = 0" .br .in -1c .SH "Detailed Description" .PP \fBSoSTLFileKit\fP is a class for using STL files with Coin\&. Class for using STL files with Coin\&. You can use it to read and write STL files, and convert back and forth between Open Inventor scene graphs and SoSTLFileKits\&. .PP STL files are 3D models intended for 3D printers, and is a format supported by a wide variety of computer-aided design programs\&. STL models are, because of their intended purpose, always representations of solid objects\&. STL is short for stereolithography, the process used for 3D printing\&. .PP Ordinary STL models do not contain color information\&. There are, however, two extensions to the binary file format for specifying color\&. Currently neither extension is supported\&. This is caused by lack of sample models using the extensions and will be added as soon as such models are found\&. We have the specs on the extensions, and it should be pretty straight-forwards to implement, but we want to get it right at once since we have write support (we don't want to inadvertently create a third color extension ;)\&. .PP When writing STL files, certain STL model criteria are not enforced by \fBSoSTLFileKit\fP\&. These are: .PP .IP "\(bu" 2 STL models should represent complete solids - it is the user's responsibility to give models of solid data to \fBreadScene()\fP, and not \fBreadScene()\fP's responsibility to check the incoming data\&. .IP "\(bu" 2 STL models should have all triangles in counterclockwise order\&. This is not enforced either\&. .IP "\(bu" 2 STL models should reside in the positive octant of the coordinate space\&. This is also the user's responsibility to ensure, although adding functionality for translating the model should be easy, so it might get implemented\&. .PP .PP Since the color extensions are not supported yet, color information is not collected either when converting Open Inventor scene graphs to SoSTLFileKits\&. .PP Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .br \fBSince\fP .RS 4 Coin 3\&.0 .RE .PP .SH "Constructor & Destructor Documentation" .PP .SS "SoSTLFileKit::SoSTLFileKit (void )" Constructor\&. .SS "SoSTLFileKit::~SoSTLFileKit (void )\fR [protected]\fP, \fR [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoSTLFileKit::getClassTypeId (void )\fR [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "\fBSoType\fP SoSTLFileKit::getTypeId (void ) const\fR [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "const \fBSoFieldData\fP ** SoSTLFileKit::getFieldDataPtr (void )\fR [static]\fP, \fR [protected]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br Returns the \fBSoFieldData\fP class which holds information about fields in this node\&. .br .SS "const \fBSoFieldData\fP * SoSTLFileKit::getFieldData (void ) const\fR [protected]\fP, \fR [virtual]\fP" Returns a pointer to the class-wide field data storage object for this instance\&. If no fields are present, returns \fRNULL\fP\&. .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "const \fBSoNodekitCatalog\fP * SoSTLFileKit::getClassNodekitCatalog (void )\fR [static]\fP" Returns the nodekit catalog which defines the layout of this class' kit\&. .br .SS "const \fBSoNodekitCatalog\fP * SoSTLFileKit::getNodekitCatalog (void ) const\fR [virtual]\fP" Returns the nodekit catalog which defines the layout of this class' kit\&. .br .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "const \fBSoNodekitCatalog\fP ** SoSTLFileKit::getClassNodekitCatalogPtr (void )\fR [static]\fP, \fR [protected]\fP" Returns the pointer to the pointer of the nodekit catalog for this class\&. .br .SS "void SoSTLFileKit::initClass (void )\fR [static]\fP" .SS "SbBool SoSTLFileKit::identify (const char * filename)\fR [static]\fP" Returns whether or not \fIfilename\fP is identified as an STL file\&. .SS "SbBool SoSTLFileKit::canReadFile (const char * filename = \fRNULL\fP) const\fR [virtual]\fP" Checks if this concrete class can read the given file\&. .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "SbBool SoSTLFileKit::readFile (const char * filename)\fR [virtual]\fP" Reads in an STL file\&. Both ASCII and binary files are supported\&. For binary files, the color extensions are not implemented yet\&. .PP Returns FALSE if \fIfilename\fP could not be opened or parsed correctly\&. .PP \fBSee also\fP .RS 4 \fBcanReadFile\fP .RE .PP .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "SbBool SoSTLFileKit::canWriteFile (const char * filename = \fRNULL\fP) const\fR [virtual]\fP" Checks if this concrete class can write to the given file\&. .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "SbBool SoSTLFileKit::writeFile (const char * filename)\fR [virtual]\fP" Writes the STL model to an STL file\&. .PP \fBSee also\fP .RS 4 binary, info, \fBcanWriteFile\fP, canReadScene .RE .PP .PP Reimplemented from \fBSoForeignFileKit\fP\&. .SS "SbBool SoSTLFileKit::readScene (\fBSoNode\fP * scene)" Converts a scene graph into an \fBSoSTLFileKit\fP\&. Useful for creating STL files\&. .PP \fBSee also\fP .RS 4 canReadScene, \fBcanWriteFile\fP, \fBwriteFile\fP .RE .PP .SS "\fBSoSeparator\fP * SoSTLFileKit::convert ()\fR [virtual]\fP" Converts (if necessary) the internal representation of the foreign file to a pure Coin scenegraph\&. Returns the root node with a refcount of 0\&. .PP Implements \fBSoForeignFileKit\fP\&. .SS "void SoSTLFileKit::reset (void )\fR [protected]\fP" Resets the STL model so it contains nothing\&. .SS "SbBool SoSTLFileKit::addFacet (const \fBSbVec3f\fP & v1, const \fBSbVec3f\fP & v2, const \fBSbVec3f\fP & v3, const \fBSbVec3f\fP & n)\fR [protected]\fP" Adds one triangle to the STL model\&. .PP \fBSee also\fP .RS 4 \fBreset\fP, \fBorganizeModel\fP .RE .PP .SS "void SoSTLFileKit::organizeModel (void )\fR [protected]\fP" Should be called after the STL model is completely set up in the \fBSoSTLFileKit\fP through import from a file or from a scene graph\&. The model will then be optimized for fast rendering\&. .PP \fBSee also\fP .RS 4 \fBaddFacet\fP, \fBreset\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.