public class SoMFString extends SoMField
SoMFStrings are written to file as one or more strings within double quotes. Any characters (including newlines) may appear within the quotes. To include a double quote character within the string, precede it with a backslash. For example:
[ cowEnizer , "Scene Boy" , "He said, \"I did not!\"" ]
Unicode Support
Unicode is an industry standard for encoding text of all forms and languages for use by computers. Open Inventor supports Unicode encoding, which allows internationalization of text in a standard cross-platform fashion.
String and as well as classes like SoSFString
support the wchar_t type which is used for Unicode strings, and all of the text nodes are able to render Unicode strings.
String includes methods for construction of Unicode strings, string operators (=, += ,== ,!=, <, >, <=, >=), as well as a query method (String.isUnicode()).
To be able to display a particular Unicode character, the selected font must have a character for that Unicode value. Many fonts do not contain a complete set of Unicode characters. However, the shareware Unicode font file "Code2000" seems to work well.
Note that Unicode characters are not directly supported in Open Inventor files. Unicode strings are written as if the bytes in the string were a string of 8-bit characters. The string will be prefixed by "MCS_U_".
Data copying: SoMF fields are a kind of "smart container", automatically expanding as necessary to hold the data provided by the application. This is very convenient, but for large blocks of data it may be desireable to avoid making a copy of the application data. The setValuesBuffer() methods allow Open Inventor to directly use an array of values supplied by the application. The application data is not copied. Please see SoMFVec3f
for more information and example code.
SoField.FieldTypes
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoMFString()
Deprecated.
As of Open Inventor 9.3 Use constructor with SoFieldContainer instead.
|
SoMFString(SoFieldContainer fieldContainer,
java.lang.String fieldName,
SoField.FieldTypes fieldType)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
deleteText(int fromLine,
int fromChar,
int toLine,
int toChar)
Convenience function to delete text from consecutive strings.
|
void |
disableDeleteValues()
Temporary disable value deleting.
|
boolean |
equals(java.lang.Object obj) |
int |
find(java.lang.String targetValue)
Calls find(targetValue, false).
|
int |
find(java.lang.String targetValue,
boolean addIfNotFound)
Finds the given
targetValue in the array and returns the index of that value.
|
java.lang.String |
get1Value(int i)
Deprecated.
|
java.lang.String |
getValueAt(int i) |
long |
getValueSize()
Get size of the value.
|
void |
set1Value(int index,
java.lang.String newValue)
Sets the
index'th value in the array to
newValue.
|
void |
setValue(java.lang.String newValue)
Sets the first value in the array to
newValue, and deletes.
|
void |
setValues(int start,
java.lang.String[] newValues)
Sets
num values starting at index
start to the values.
|
deleteValues, deleteValues, get1, getNum, insertSpace, set1, setNum
appendConnection, appendConnection, appendConnection, connectFrom, connectFrom, connectFrom, disconnect, disconnect, disconnect, disconnect, enableConnection, get, getConnectedEngine, getConnectedField, getConnectedVRMLInterp, getContainer, getNumConnections, isConnected, isConnectedFromEngine, isConnectedFromField, isConnectedFromVRMLInterp, isConnectionEnabled, isDefault, isIgnored, set, setIgnored, touch
dispose, getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
@Deprecated public SoMFString()
public SoMFString(SoFieldContainer fieldContainer, java.lang.String fieldName, SoField.FieldTypes fieldType)
public int find(java.lang.String targetValue)
@Deprecated public java.lang.String get1Value(int i)
public long getValueSize()
getValueSize
in class SoMField
public void deleteText(int fromLine, int fromChar, int toLine, int toChar)
public void set1Value(int index, java.lang.String newValue)
public void setValue(java.lang.String newValue)
public void disableDeleteValues()
public void setValues(int start, java.lang.String[] newValues)
public java.lang.String getValueAt(int i)
public int find(java.lang.String targetValue, boolean addIfNotFound)
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com