Ejemplo n.º 1
0
QModelIndex VtkVisPipeline::addPipelineItem( vtkAlgorithm* source,
                                      QModelIndex parent /* = QModelindex() */)
{
	TreeItem* parentItem = getItem(parent);

	QList<QVariant> itemData;
	QString itemName;
	if (!parent.isValid()) // if source object
	{
		vtkGenericDataObjectReader* reader =
		        dynamic_cast<vtkGenericDataObjectReader*>(source);
		vtkImageReader2* imageReader = dynamic_cast<vtkImageReader2*>(source);
		VtkAlgorithmProperties* props = dynamic_cast<VtkAlgorithmProperties*>(source);
		if (reader)
		{
			QFileInfo fi(QString(reader->GetFileName()));
			itemName = fi.fileName();
		}
		else if (imageReader)
		{
			QFileInfo fi(QString(imageReader->GetFileName()));
			itemName = fi.fileName();
		}
		else if (props)
		{
			QFileInfo fi(props->GetName());
			itemName = fi.fileName();
		}
		else
			itemName = QString(source->GetClassName());
	}
	else
		itemName = QString(source->GetClassName());
	itemData << itemName << true;

	VtkVisPipelineItem* item(NULL);
	vtkImageAlgorithm* alg = dynamic_cast<vtkImageAlgorithm*>(source);
	if (alg)
		item = new VtkVisImageItem(source, parentItem, itemData);
	else
		item = new VtkVisPointSetItem(source, parentItem, itemData);
	return this->addPipelineItem(item, parent);
}
Ejemplo n.º 2
0
QModelIndex VtkVisPipeline::addPipelineItem( vtkAlgorithm* source, QModelIndex parent /* = QModelindex() */)
{
    std::string itemName;

    if (!parent.isValid()) // if source object
    {
        vtkGenericDataObjectReader* old_reader = dynamic_cast<vtkGenericDataObjectReader*>(source);
        vtkXMLReader* new_reader = dynamic_cast<vtkXMLReader*>(source);
        vtkImageReader2* image_reader = dynamic_cast<vtkImageReader2*>(source);
        VtkAlgorithmProperties* props = dynamic_cast<VtkAlgorithmProperties*>(source);
        InSituLib::VtkMappedMeshSource* meshSource =
            dynamic_cast<InSituLib::VtkMappedMeshSource*>(source);
        if (old_reader)
            itemName = old_reader->GetFileName();
        else if (new_reader)
            itemName = new_reader->GetFileName();
        else if (image_reader)
            itemName = image_reader->GetFileName();
        else if (props)
            itemName = props->GetName().toStdString();
        else if (meshSource)
            itemName = meshSource->GetMesh()->getName();
    }

    if (itemName.length() == 0)
        itemName = source->GetClassName();

    QList<QVariant> itemData;
    itemData << QString::fromStdString(itemName) << true;

    VtkVisPipelineItem* item(NULL);
    if (dynamic_cast<vtkImageAlgorithm*>(source))
        item = new VtkVisImageItem(source, getItem(parent), itemData);
    else
        item = new VtkVisPointSetItem(source, getItem(parent), itemData);
    return this->addPipelineItem(item, parent);
}