|
virtual SoType | getTypeId (void) const |
virtual const SoNodekitCatalog * | getNodekitCatalog (void) const |
| SoSTLFileKit (void) |
virtual SbBool | canReadFile (const char *filename=NULL) const |
virtual SbBool | readFile (const char *filename) |
virtual SbBool | canWriteFile (const char *filename=NULL) const |
virtual SbBool | writeFile (const char *filename) |
SbBool | canReadScene (void) const |
SbBool | readScene (SoNode *scene) |
virtual SoSeparator * | convert () |
| SoBaseKit (void) |
virtual SoNode * | getPart (const SbName &partname, SbBool makeifneeded) |
SbString | getPartString (const SoBase *part) |
virtual SoNodeKitPath * | createPathToPart (const SbName &partname, SbBool makeifneeded, const SoPath *pathtoextend=NULL) |
virtual SbBool | setPart (const SbName &partname, SoNode *from) |
SbBool | set (const char *namevaluepairliststring) |
SbBool | set (const char *partnamestring, const char *parameterstring) |
virtual void | doAction (SoAction *action) |
virtual void | callback (SoCallbackAction *action) |
virtual void | GLRender (SoGLRenderAction *action) |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
virtual void | getMatrix (SoGetMatrixAction *action) |
virtual void | handleEvent (SoHandleEventAction *action) |
virtual void | rayPick (SoRayPickAction *action) |
virtual void | search (SoSearchAction *action) |
virtual void | write (SoWriteAction *action) |
virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action) |
virtual SoChildList * | getChildren (void) const |
void | printDiagram (void) |
void | printSubDiagram (const SbName &rootname, int level) |
void | printTable (void) |
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
SbBool | forceChildDrivenWriteRefs (SoOutput *out) |
void | setOverride (const SbBool state) |
SbBool | isOverride (void) const |
void | setNodeType (const NodeType type) |
NodeType | getNodeType (void) const |
virtual SoNode * | copy (SbBool copyconnections=FALSE) const |
virtual SbBool | affectsState (void) const |
virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
virtual void | GLRenderInPath (SoGLRenderAction *action) |
virtual void | GLRenderOffPath (SoGLRenderAction *action) |
virtual void | pick (SoPickAction *action) |
virtual void | audioRender (SoAudioRenderAction *action) |
virtual void | grabEventsSetup (void) |
virtual void | grabEventsCleanup (void) |
virtual void | startNotify (void) |
virtual void | notify (SoNotList *l) |
SbUniqueId | getNodeId (void) const |
virtual void | writeInstance (SoOutput *out) |
virtual SoFieldContainer * | copyThroughConnection (void) const |
void | setToDefaults (void) |
SbBool | hasDefaultValues (void) const |
SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
SbBool | set (const char *const fielddata) |
void | get (SbString &fielddata) |
virtual int | getFields (SoFieldList &l) const |
virtual int | getAllFields (SoFieldList &l) const |
virtual SoField * | getField (const SbName &name) const |
virtual SoField * | getEventIn (const SbName &name) const |
virtual SoField * | getEventOut (const SbName &name) const |
SbBool | getFieldName (const SoField *const field, SbName &name) const |
SbBool | enableNotify (const SbBool flag) |
SbBool | isNotifyEnabled (void) const |
SbBool | set (const char *fielddata, SoInput *input) |
void | get (SbString &fielddata, SoOutput *out) |
virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
SbBool | getIsBuiltIn (void) const |
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
void | setUserData (void *userdata) const |
void * | getUserData (void) const |
void | ref (void) const |
void | unref (void) const |
void | unrefNoDelete (void) const |
int32_t | getRefCount (void) const |
void | touch (void) |
SbBool | isOfType (SoType type) const |
| Returns TRUE if the type of this object is either of the same type or inherited from type.
|
virtual SbName | getName (void) const |
virtual void | setName (const SbName &newname) |
void | addAuditor (void *const auditor, const SoNotRec::Type type) |
void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
const SoAuditorList & | getAuditors (void) const |
SbBool | shouldWrite (void) |
void | assertAlive (void) const |
|
static SoType | getClassTypeId (void) |
static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
static void | initClass (void) |
static SbBool | identify (const char *filename) |
static SoType | getClassTypeId (void) |
static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
static void | initClass (void) |
static SbBool | isFileSupported (SoInput *in, SbBool exhaust=FALSE) |
static SbBool | isFileSupported (const char *filename, SbBool exhaust=FALSE) |
static SoForeignFileKit * | createForeignFileKit (SoInput *in, SbBool exhaust=FALSE) |
static SoForeignFileKit * | createForeignFileKit (const char *filename, SbBool exhaust=FALSE) |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
static SbBool | isSearchingChildren (void) |
static void | setSearchingChildren (const SbBool newval) |
static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
static SoType | getClassTypeId (void) |
static SoNode * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoNodeList &l) |
static void | initClass (void) |
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
static void | initClasses (void) |
static SbUniqueId | getNextNodeId (void) |
static int | getActionMethodIndex (const SoType type) |
static void | getBoundingBoxS (SoAction *action, SoNode *node) |
static void | GLRenderS (SoAction *action, SoNode *node) |
static void | callbackS (SoAction *action, SoNode *node) |
static void | getMatrixS (SoAction *action, SoNode *node) |
static void | handleEventS (SoAction *action, SoNode *node) |
static void | pickS (SoAction *action, SoNode *node) |
static void | rayPickS (SoAction *action, SoNode *node) |
static void | searchS (SoAction *action, SoNode *node) |
static void | writeS (SoAction *action, SoNode *node) |
static void | audioRenderS (SoAction *action, SoNode *node) |
static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
static void | initClass (void) |
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
static SoType | getClassTypeId (void) |
| This static method returns the SoType object associated with objects of this class.
|
static void | cleanupClass (void) |
static void | initCopyDict (void) |
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
static void | copyDone (void) |
static void | initClass (void) |
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
static SoType | getClassTypeId (void) |
| This static method returns the SoType object associated with objects of this class.
|
static void | addName (SoBase *const base, const char *const name) |
static void | removeName (SoBase *const base, const char *const name) |
static void | incrementCurrentWriteCounter (void) |
static void | decrementCurrentWriteCounter (void) |
static SoBase * | getNamedBase (const SbName &name, SoType type) |
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
static void | setInstancePrefix (const SbString &c) |
static void | setTraceRefs (SbBool trace) |
static SbBool | getTraceRefs (void) |
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
static SbBool | readRoute (SoInput *input) |
|
virtual const SoFieldData * | getFieldData (void) const |
virtual | ~SoSTLFileKit (void) |
void | reset (void) |
SbBool | addFacet (const SbVec3f &v1, const SbVec3f &v2, const SbVec3f &v3, const SbVec3f &normal) |
void | organizeModel (void) |
virtual | ~SoBaseKit () |
virtual SoNode * | addToCopyDict (void) const |
virtual void | copyContents (const SoFieldContainer *fromfc, SbBool copyconnections) |
SoGroup * | getContainerNode (const SbName &listname, SbBool makeifneeded=TRUE) |
virtual SoNode * | getAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) |
virtual SoNodeKitPath * | createPathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL) |
virtual SbBool | setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE) |
void | createNodekitPartsList (void) |
void | createFieldList (void) |
virtual void | createDefaultParts (void) |
const SoNodekitParts * | getNodekitPartsList (void) const |
const SbList< SoSFNode * > & | getCatalogInstances (void) const |
void | catalogError (void) |
virtual SbBool | setUpConnections (SbBool onoff, SbBool doitalways=FALSE) |
virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
virtual void | setDefaultOnNonWritingFields (void) |
void | countMyFields (SoOutput *out) |
virtual SbBool | setPart (const int partNum, SoNode *node) |
| SoNode (void) |
virtual | ~SoNode () |
| SoFieldContainer (void) |
virtual | ~SoFieldContainer () |
| SoBase (void) |
virtual | ~SoBase () |
virtual void | destroy (void) |
SbBool | hasMultipleWriteRefs (void) const |
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
void | writeFooter (SoOutput *out) const |
virtual const char * | getFileFormatName (void) const |
virtual SoNotRec | createNotRec (void) |
SoSTLFileKit 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.
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.
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 ;).
When writing STL files, certain STL model criteria are not enforced by SoSTLFileKit. These are:
- STL models should represent complete solids - it is the user's responsibility to give models of solid data to readScene(), and not readScene()'s responsibility to check the incoming data.
- STL models should have all triangles in counterclockwise order. This is not enforced either.
- 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.
Since the color extensions are not supported yet, color information is not collected either when converting Open Inventor scene graphs to SoSTLFileKits.
Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
- Since
- Coin 3.0