---
name: "SoSFPath"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoSFPath"
---

# SoSFPath(3)

The SoSFPath class is a container for a single path.

## NAME

SoSFPath - The **SoSFPath** class is a container for a single path.

## SYNOPSIS

\#include \<Inventor/fields/SoSFPath.h\>

Inherits **SoSField**.

### Public Member Functions

virtual **SoType** **getTypeId** (void) const\
 virtual void **copyFrom** (const **SoField** &field)\
 const **SoSFPath** & **operator=** (const **SoSFPath** &field)\
 virtual SbBool **isSame** (const **SoField** &field) const\
 **SoPath** \* **getValue** (void) const\
 void **setValue** (**SoPath** \*newvalue)\
 **SoPath** \* **operator=** (**SoPath** \*newvalue)\
 int **operator==** (const **SoSFPath** &field) const\
 int **operator!=** (const **SoSFPath** &field) const\
 virtual void **notify** (**SoNotList** \*l)\
 virtual void **fixCopy** (SbBool copyconnections)\
 virtual SbBool **referencesCopy** (void) const\

Public Member Functions inherited from **SoSField** virtual **~SoSField** ()\

Public Member Functions inherited from **SoField** virtual **~SoField** ()\
 void **setIgnored** (SbBool ignore)\
 SbBool **isIgnored** (void) const\
 void **setDefault** (SbBool defaultVal)\
 SbBool **isDefault** (void) const\
 SbBool **isOfType** (const **SoType** type) const\
 void **enableConnection** (SbBool flag)\
 SbBool **isConnectionEnabled** (void) const\
 SbBool **connectFrom** (**SoEngineOutput** \*master, SbBool notnotify=FALSE, SbBool append=FALSE)\
 SbBool **appendConnection** (**SoEngineOutput** \*master, SbBool notnotify=FALSE)\
 void **disconnect** (**SoEngineOutput** \*engineoutput)\
 SbBool **isConnectedFromEngine** (void) const\
 SbBool **getConnectedEngine** (**SoEngineOutput** \*&master) const\
 SbBool **connectFrom** (**SoField** \*master, SbBool notnotify=FALSE, SbBool append=FALSE)\
 SbBool **appendConnection** (**SoField** \*master, SbBool notnotify=FALSE)\
 void **disconnect** (**SoField** \*field)\
 SbBool **isConnectedFromField** (void) const\
 SbBool **getConnectedField** (**SoField** \*&master) const\
 int **getNumConnections** (void) const\
 int **getForwardConnections** (**SoFieldList** &slavelist) const\
 int **getConnections** (**SoFieldList** &masterlist) const\
 void **disconnect** (void)\
 SbBool **isConnected** (void) const\
 void **setContainer** (**SoFieldContainer** \*cont)\
 **SoFieldContainer** \* **getContainer** (void) const\
 SbBool **set** (const char \*valuestring)\
 void **get** (**SbString** &valuestring)\
 SbBool **shouldWrite** (void) const\
 virtual void **touch** (void)\
 virtual void **startNotify** (void)\
 SbBool **enableNotify** (SbBool on)\
 SbBool **isNotifyEnabled** (void) const\
 void **addAuditor** (void \*f, **SoNotRec::Type** type)\
 void **removeAuditor** (void \*f, **SoNotRec::Type** type)\
 int **operator==** (const **SoField** &f) const\
 int **operator!=** (const **SoField** &f) const\
 virtual void **connectionStatusChanged** (int numconnections)\
 SbBool **isReadOnly** (void) const\
 void **copyConnection** (const **SoField** \*fromfield)\
 virtual SbBool **read** (**SoInput** \*input, const **SbName** &name)\
 virtual void **write** (**SoOutput** \*out, const **SbName** &name) const\
 void **setFieldType** (int type)\
 int **getFieldType** (void) const\
 SbBool **getDirty** (void) const\
 void **setDirty** (SbBool dirty)\
 void **evaluate** (void) const\

### Static Public Member Functions

static void \* **createInstance** (void)\
 static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoSField** static void **initClass** (void)\
 static **SoType** **getClassTypeId** (void)\
 static void **atexit\_cleanup** (void)\

Static Public Member Functions inherited from **SoField** static void **initClass** (void)\
 static void **initClasses** (void)\
 static void **cleanupClass** (void)\
 static **SoType** **getClassTypeId** (void)\

### Protected Attributes

**SoPath** \* **value**\

### Additional Inherited Members

Public Types inherited from **SoField** enum **FieldType** { **NORMAL\_FIELD** = 0, **EVENTIN\_FIELD**, **EVENTOUT\_FIELD**, **EXPOSED\_FIELD** }\

Protected Member Functions inherited from **SoSField** **SoSField** (void)\

Protected Member Functions inherited from **SoField** **SoField** (void)\
 void **valueChanged** (SbBool resetdefault=TRUE)\
 virtual void **evaluateConnection** (void) const\
 virtual SbBool **readConnection** (**SoInput** \*in)\
 virtual void **writeConnection** (**SoOutput** \*out) const\
 SbBool **isDestructing** (void) const\
 virtual **SoNotRec** **createNotRec** (**SoBase** \*cont)\

## Detailed Description

The **SoSFPath** class is a container for a single path.

This field container stores a pointer to a Coin path. It takes care of the necessary functionality for handling copy, import and export operations.

Note that the path pointer stored in a field instance of this type may be a NULL pointer.

**See also**

**SoPath**, **SoMFPath**

## Member Function Documentation

### void \* SoSFPath::createInstance (void ) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Creates a new instance of the class type corresponding to the **SoType** object.

### SoType SoSFPath::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

### SoType SoSFPath::getTypeId (void ) const \[virtual\]

Returns the type identification of an object derived from a class inheriting **SoField**. This is used for runtime type checking and "downward" casting.

Implements **SoField**.

### void SoSFPath::copyFrom (const SoField & f) \[virtual\]

Copy value(s) from *f* into this field. *f* must be of the same type as this field.

Implements **SoField**.

### SbBool SoSFPath::isSame (const SoField & f) const \[virtual\]

Check for equal type and value(s).

Implements **SoField**.

### void SoSFPath::initClass (void ) \[static\]

Internal method called upon initialization of the library (from **SoDB::init()**) to set up the type system.

### void SoSFPath::notify (SoNotList \* nlist) \[virtual\]

Notify auditors that this field has changed.

Reimplemented from **SoField**.

### void SoSFPath::fixCopy (SbBool copyconnections) \[virtual\]

This method is internally called after **SoField::copyFrom()** during scene graph copies, and should do the operations necessary for fixing up the field instance after it has gotten a new value.

The default method in the **SoField** superclass does nothing.

The application programmer should normally not need to consider this method, unless he constructs a complex field type which contains new references to container instances (i.e. nodes or engines). Overriding this method is then necessary to update the reference pointers, as they could have been duplicated during the copy operation.

Reimplemented from **SoField**.

### SbBool SoSFPath::referencesCopy (void ) const \[virtual\]

Returns TRUE if this field has references to any containers in the scene graph which are also duplicated during the copy operation.

Note that this method *only* is valid to call during copy operations.

See also the note about the relevance of the **fixCopy()** method for application programmers, as it is applicable on this method as well.

Reimplemented from **SoField**.

## Author

Generated automatically by Doxygen for Coin from the source code.
