SoEngineOutput(3)
πΈ SoEngineOutput πΈ
sooo welcome to the Coin manual, bestie β this page lives in section 3 of the Coin man pages and it's literally about SoEngineOutput, the output slots inside SoEngine instances. π
β¨ NAME β¨
SoEngineOutput β the output slots in SoEngine instances.
π¦ SYNOPSIS π¦
#include <Inventor/engines/SoEngine.h>
π Public Member Functions π
SoEngineOutput (void)
virtual ~SoEngineOutput (void)
SoType getConnectionType (void) const
int getForwardConnections (SoFieldList &fl) const
void enable (const SbBool flag)
SbBool isEnabled (void) const
SoEngine * getContainer (void) const
SoNodeEngine * getNodeContainer (void) const
SbBool isNodeEngineOutput (void) const
void setContainer (SoEngine *engine)
void setNodeContainer (SoNodeEngine *nodeengine)
void addConnection (SoField *f)
void removeConnection (SoField *f)
int getNumConnections (void) const
SoField * operator[] (int i) const
void prepareToWrite (void) const
void doneWriting (void) const
void touchSlaves (SoNotList *nl, SbBool donotify)
SoFieldContainer * getFieldContainer (void)
π Detailed Description π
okay so real talk: the SoEngineOutput class is the output slots in SoEngine instances. that's the whole vibe. π
and it comes with methods for the convenient handling of the connections made from SoEngine objects to SoField objects. convenient!! we love her for that. π«Ά
See also: SoEngine, SoField
π Constructor & Destructor Documentation π
SoEngineOutput::SoEngineOutput (void )
Constructor. so at the start, the SoEngineOutput is not contained within an SoEngine, and it also has zero slave fields attached. it's just out here, unbothered, unattached. π
See also: setContainer()
SoEngineOutput::~SoEngineOutput (void ) [virtual]
Destructor. bye bestie π
β Member Function Documentation β
SoType SoEngineOutput::getConnectionType (void ) const
Returns the type of the engine output. periodt.
int SoEngineOutput::getForwardConnections (SoFieldList & fl) const
Adds all the slave fields connected to this output into fl. returns the number of slaves. so it's giving "here's everyone attached to me, and here's the headcount." β¨
See also: addConnection(), removeConnection()
void SoEngineOutput::enable (const SbBool flag)
Sets the enabled flag. and heads up β if the output is disabled, then the fields connected to this output will not be changed when the engine is evaluated. so like, nothing happens to them. no cap.
See also: isEnabled().
SbBool SoEngineOutput::isEnabled (void ) const
Returns the status of the enabled flag. vibe check on the enabled flag, basically. π₯
See also: enable().
SoEngine * SoEngineOutput::getContainer (void ) const
Returns the engine containing this output. BUT β if the engine containing this output is a NodeEngine, this method returns NULL. so it's giving "wrong department, try the other one." π
See also: setContainer(), getNodeContainer()
SoNodeEngine * SoEngineOutput::getNodeContainer (void ) const
Returns the node engine containing this output. and if the engine containing this output is not a NodeEngine, this method returns NULL. again with the NULL. π
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
See also: setNodeContainer(), getContainer()
Since: Coin 2.0
SbBool SoEngineOutput::isNodeEngineOutput (void ) const
Returns TRUE if the container is a NodeEngine. simple as that, icon.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
See also: getNodeContainer(), getContainer()
Since: Coin 2.0
void SoEngineOutput::setContainer (SoEngine * engine)
Sets the engine containing this output. putting her in her home π
See also: getContainer()
void SoEngineOutput::setNodeContainer (SoNodeEngine * nodeengine)
Sets the NodeEngine containing this output.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
See also: getNodeContainer()
Since: Coin 2.0
void SoEngineOutput::addConnection (SoField * f)
Adds f to the list of connections from this output. π
Also β and this matters β it adds 1 to the reference count of the container engine.
See also: removeConnection(), getForwardConnections()
void SoEngineOutput::removeConnection (SoField * f)
Removes f from the list of connections from this output.
And now the important part, so pay attention bestie: it subtracts 1 from the reference count of the container engine. If that reference count reaches zero β which will happen if this was the last connection and the application programmer did not explicitly ref the engine β then the container engine will be deallocated. π gone. so watch out for that one.
See also: addConnection(), getForwardConnections()
int SoEngineOutput::getNumConnections (void ) const
Returns the number of fields in the list of connections. just the count, nothing more. π’
See also: operator[], addConnection()
SoField * SoEngineOutput::operator[] (int i) const
Returns the field at index i in the list of connections.
β οΈ please note that this might not be the same field as the one the output was originally connected to, since a field converted might have been inserted to converted the output to match the field type. yes fr fr, read that twice.
See also: getNumConnections()
void SoEngineOutput::prepareToWrite (void ) const
Disables notifications on the fields connected to this output. this happens before the engine is evaluated, because the fields we're going to write into have already been notified. π
See also: doneWriting()
void SoEngineOutput::doneWriting (void ) const
Restores the notification flags on the fields connected to this output, after evaluating. putting the flags back where they belong π
See also: prepareToWrite()
void SoEngineOutput::touchSlaves (SoNotList * nl, SbBool donotify)
Notify the fields attached to this engine output that the output value has changed. π£
If donotify is TRUE, it propagates the notification to the fields. Otherwise it just marks the fields "dirty" for re-evaluation. your pick.
Note that this method is not part of the original Open Inventor API.
SoFieldContainer * SoEngineOutput::getFieldContainer (void )
Convenience method that returns a field container. and the cute part is this method can be used for both NodeEngine and Engine outputs. versatile queen π
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
Since: Coin 2.0
π Author π
Generated automatically by Doxygen for Coin from the source code.
okay that's the whole page, you ate that πβ¨ β this was Coin Version 4.0.10, dated Thu Jun 25 2026 00:00:00, and it's filed under SoEngineOutput(3). go forth and connect responsibly, bestie π
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms