def __init__(self, **traits): DataSourceFactory.__init__(self, **traits) self._self = self
def build_data_source(self): """ This is where we apply the selections made by the user in in the wizard to build the data source. """ factory = DataSourceFactory() # Keep a reference to the factory to be able to replay it, say # on other data. self._factory = factory if self.data_type_ == "point": # The user wants to explicitly position vector, # thus only sensible data structures for points is with # explicit positioning. self.position_type_ == "explicit" # In addition, this view does not allow for # connectivity. factory.unstructured = True factory.connected = False else: factory.connected = True if self.position_type_ == "image data" and not self.data_type_ == "point": if not self.has_scalar_data and not self.vector_u == "": # With image data we need a scalar array always: factory.scalar_data = ones(self.grid_shape) factory.position_implicit = True else: factory.position_x = self.get_sdata(self.position_x) factory.position_y = self.get_sdata(self.position_y) factory.position_z = self.get_sdata(self.position_z) if self.position_type_ == "orthogonal grid": factory.orthogonal_grid = True if self.position_type_ == "explicit" and self.data_type_ == "surface": factory.connectivity_triangles = self.get_data(self.connectivity_triangles) if self.lines and self.data_type_ == "point": factory.lines = True if self.has_vector_data or self.data_type_ == "vector": # In the vector view, the user is not explicitly asked to # Enable vectors. factory.has_vector_data = True factory.vector_u = self.get_sdata(self.vector_u) factory.vector_v = self.get_sdata(self.vector_v) factory.vector_w = self.get_sdata(self.vector_w) if self.has_scalar_data or self.data_type_ == "volumetric": # In the volumetric view, the user is not explicitly asked to # Enable scalars. factory.scalar_data = self.get_sdata(self.scalar_data) if self.connectivity_triangles == "": factory.connectivity_triangles = None self.data_source = factory.build_data_source() if self.has_scalar_data: if hasattr(self.data_source, "scalar_name"): self.data_source.scalar_name = self.scalar_data elif hasattr(self.data_source, "point_scalar_name"): self.data_source.point_scalar_name = self.scalars
def build_data_source(self): """ This is where we apply the selections made by the user in in the wizard to build the data source. """ factory = DataSourceFactory() # Keep a reference to the factory to be able to replay it, say # on other data. self._factory = factory if self.data_type_ == 'point': # The user wants to explicitly position vector, # thus only sensible data structures for points is with # explicit positioning. self.position_type_ == 'explicit' # In addition, this view does not allow for # connectivity. factory.unstructured = True factory.connected = False else: factory.connected = True if (self.position_type_ == "image data" and not self.data_type_ == "point"): if not self.has_scalar_data and not self.vector_u == '': # With image data we need a scalar array always: factory.scalar_data = ones(self.grid_shape) factory.position_implicit = True else: factory.position_x = self.get_sdata(self.position_x) factory.position_y = self.get_sdata(self.position_y) factory.position_z = self.get_sdata(self.position_z) if self.position_type_ == "orthogonal grid": factory.orthogonal_grid = True if self.position_type_ == "explicit" and self.data_type_ == "surface": factory.connectivity_triangles = self.get_data( self.connectivity_triangles) if self.lines and self.data_type_ == "point": factory.lines = True if self.has_vector_data or self.data_type_ == 'vector': # In the vector view, the user is not explicitly asked to # Enable vectors. factory.has_vector_data = True factory.vector_u = self.get_sdata(self.vector_u) factory.vector_v = self.get_sdata(self.vector_v) factory.vector_w = self.get_sdata(self.vector_w) if self.has_scalar_data or self.data_type_ == 'volumetric': # In the volumetric view, the user is not explicitly asked to # Enable scalars. factory.scalar_data = self.get_sdata(self.scalar_data) if self.connectivity_triangles == '': factory.connectivity_triangles = None self.data_source = factory.build_data_source() if self.has_scalar_data: if hasattr(self.data_source, 'scalar_name'): self.data_source.scalar_name = self.scalar_data elif hasattr(self.data_source, 'point_scalar_name'): self.data_source.point_scalar_name = self.scalars