本文整理汇总了C++中SbString::deleteSubString方法的典型用法代码示例。如果您正苦于以下问题:C++ SbString::deleteSubString方法的具体用法?C++ SbString::deleteSubString怎么用?C++ SbString::deleteSubString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SbString
的用法示例。
在下文中一共展示了SbString::deleteSubString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getLength
SbString
SbString::getSubString(int startChar, int endChar) const
{
int len = getLength();
// Get substring that starts at specified character
SbString tmp = &string[startChar];
// Delete characters from end if necessary
if (endChar >= 0 && endChar < len - 1)
tmp.deleteSubString(endChar - startChar + 1);
return tmp;
}
示例2: if
//.........这里部分代码省略.........
Ui.table->setItem(i,0, new QTableWidgetItem(S.setNum(x,'g',5)));
Ui.table->setItem(i,1, new QTableWidgetItem(S.setNum(y,'g',5)));
Ui.table->setItem(i,2, new QTableWidgetItem(S.setNum(z,'g',5)));
/* Esto tambien funciona, pero tal vez es menos eficiente
//Leemos el campo y lo partimos en valores
SbString valueString;
field->get1(i, valueString);
QStringList vv = QString(valueString.getString()).split(" ");
//Insertamos cada valor en la tabla
for(int j=0;j<vv.size(); j++)
Ui.table->setItem(i,j, new QTableWidgetItem(vv[j]));
*/
}
}
//Tratamiento de campos SoMFVec4f
else if (!strcmp(nombre_tipo, "MFVec4f"))
{
//Cabecera de las columnas
Ui.table->setColumnCount(4);
hh << "X" << "Y" << "Z" << "T";
Ui.table->setHorizontalHeaderLabels(hh);
//Rellenamos la tabla
const SbVec4f *values = ((SoMFVec4f *)field)->getValues(0);
float x, y, z, t;
for (int i=0; i<numFilas; i++)
{
values[i].getValue(x,y,z,t);
Ui.table->setItem(i,0, new QTableWidgetItem(S.setNum(x,'g',5)));
Ui.table->setItem(i,1, new QTableWidgetItem(S.setNum(y,'g',5)));
Ui.table->setItem(i,2, new QTableWidgetItem(S.setNum(z,'g',5)));
Ui.table->setItem(i,3, new QTableWidgetItem(S.setNum(t,'g',5)));
}
}
//Tratamiento de campos SoMFFloat, SoMFUInt32, SoMFInt32
else if (!strcmp(nombre_tipo, "MFFloat") || !strcmp(nombre_tipo, "MFUInt32")
|| !strcmp(nombre_tipo, "MFShort") || !strcmp(nombre_tipo, "MFInt32")
|| !strcmp(nombre_tipo, "MFDouble") || !strcmp(nombre_tipo, "MFBool")
|| !strcmp(nombre_tipo, "MFUShort") || !strcmp(nombre_tipo, "MFName") )
{
//Hace falta una columna
Ui.table->setColumnCount(1);
hh << tr("Value");
Ui.table->setHorizontalHeaderLabels(hh);
//Rellenamos la tabla usando la funcion get1 de coin
SbString valueString;
for (int i=0; i<numFilas; i++)
{
field->get1(i, valueString);
Ui.table->setItem(i,0, new QTableWidgetItem(valueString.getString()));
}
}
//Tratamiento de campos SoMFString
else if (!strcmp(nombre_tipo, "MFString"))
{
//Hace falta una columna
Ui.table->setColumnCount(1);
hh << tr("Value");
Ui.table->setHorizontalHeaderLabels(hh);
//Rellenamos la tabla usando la funcion get1 de coin
SbString valueString;
for (int i=0; i<numFilas; i++)
{
field->get1(i, valueString);
//Eliminamos las comillas
valueString.deleteSubString(0,0);
int ln = valueString.getLength();
valueString.deleteSubString(ln-1,ln-1);
Ui.table->setItem(i,0, new QTableWidgetItem(valueString.getString()));
}//for
}
else
{
qDebug("Falta soporte para tipo %s\n", nombre_tipo);
}
//Creamos los items para la ultima fila
for (int j=0; j<Ui.table->columnCount(); j++)
{
Ui.table->setItem(Ui.table->rowCount()-1,j, new QTableWidgetItem());
}
//Conectamos las señales de la tabla
//connect(Ui.table, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(on_table_customContextMenuRequested(QPoint)));
//connect(Ui.table, SIGNAL(cellChanged(int, int)), this, SLOT(on_table_cellChanged(int, int)));
//Salvamos una copia del puntero
current_mfield = field;
}