Skip to content
cedricRobert edited this page Feb 14, 2024 · 4 revisions

Mapper

data repository TO vtkPartitionedDataSetCollection

this mapper serves as an interface between the reader (epcReader) and the source (etpSource) and the loading of the different resqml representation.

vtkPartitionedDataSetCollection is composed of a set of vtkPartionedDataSet (hierarchy/view) and a vtkDataAssembly (assembly/treeview).

⚠️ For a vtkDataAssembly is associated with a vtkPartitionedDataSetCollection, each of the dataset-indices is simply the index of a partitioned-dataset in the vtkPartitionedDataSetCollection

when the reader or source provides input to the repository

  • Create data repository for epc file or etp store.

API add file to repository (EPCReader)

  std::string addFile(const char *file);

API custom etp connection (ETPSource)

  std::vector<std::string> connect(const std::string etp_url, const std::string data_partition, const std::string auth_connection);
  std::string addDataspace(const char *dataspace);
  void disconnect();
  • the treeview (vtkDataAssembly) is created from the repository with the buildDataAssemblyFromDataObjectRepo method

In the XML hierarchy of the vtkDataAssembly, attributes have been added, which you will find below.

Attribute Applied to Description
On each block Identifier of the block corresponding to "_"+ UUID of the Resqml object.
id On each block Unique ID of the node in the treeview.
label On each block The label displayed in the treeview.
type On each block Represents the data type using the following values: Unknown 0, Collection 1, Representation 2, SubRepresentation 3, Properties 4, Wellbore 5, WellboreTrajectory 6, WellboreFrame 7, WellboreChannel 8, WellboreMarkerFrame 9, WellboreMarker 10, WellboreCompletion 11, TimeSeries 12, Perforation 13.
connection Block perforation type Corresponds to the Resqml connectionId.
skin Block perforation type Corresponds to the skin value of the perforation.
diameter Block perforation type Corresponds to the diameter value of the perforation.

API get the assembly

  vtkDataAssembly *GetAssembly();
  • set treeview selection
  std::string selectNodeId(int node);
  void clearSelection();
  • set wellbore options
	void setMarkerOrientation(bool orientation);
	void setMarkerSize(int size);
  • get/load representation
	vtkPartitionedDataSetCollection *getVtkPartitionedDatasSetCollection(const double time, const int nbProcess = 1, const int processId = 0);

mapper list

Classname Resqml Vtk additional information
ResqmlGrid2dToVtkStructuredGrid Grid2dRepresentation vtkStructuredGrid
ResqmlIjkGridSubRepToVtkUnstructuredGrid SubRepresentation vtkUnstructuredGrid supporting grid = resqml AbstractIjkGridRepresentation
ResqmlIjkGridToVtkUnstructuredGrid AbstractIjkGridRepresentation vtkUnstructuredGrid
ResqmlPolylineToVtkPolyData PolylineSetRepresentation vtkPolyData
ResqmlPropertyToVtkDataArray AbstractValuesProperty vtkDataArray properties representation
ResqmlTriangulatedToVtkPolyData TriangulatedSetRepresentation vtkPolyData only 1 patch
ResqmlTriangulatedSetToVtkPartitionedDataSet TriangulatedSetRepresentation vtkPartitionedDataSet multi patch
ResqmlUnstructuredGridSubRepToVtkUnstructuredGrid SubRepresentation vtkUnstructuredGrid supporting grid = resqml UnstructuredGridRepresentation
ResqmlUnstructuredGridToVtkUnstructuredGrid UnstructuredGridRepresentation vtkUnstructuredGrid
ResqmlWellboreChannelToVtkPolyData AbstractValuesProperty vtkPolyData WellboreFrameRepresentation property
ResqmlWellboreFrameToVtkPartitionedDataSet WellboreFrameRepresentation VtkPartitionedDataSet
ResqmlWellboreMarkerFrameToVtkPartitionedDataSet WellboreMarkerFrameRepresentation VtkPartitionedDataSet
ResqmlWellboreMarkerToVtkPolyData WellboreMarker vtkPolyData / vtkSphereSource
ResqmlWellboreTrajectoryToVtkPolyData WellboreTrajectoryRepresentation vtkPolyData
WitsmlWellboreCompletionPerforationToVtkPolyData vtkPolyData WITSML2_1_NS::WellboreCompletion::WellReservoirConnectionType::PERFORATION
WitsmlWellboreCompletionToVtkPartitionedDataSet WellboreCompletion VtkPartitionedDataSet actually a set of perforations