def generate(self, region, applyTransformation=True): ''' Generate the finite element scaffold and define annotation groups. :param applyTransformation: If True (default) apply scale, rotation and translation to node coordinates. Specify False if client will transform, e.g. with graphics transformations. ''' self._region = region with ChangeManager(region.getFieldmodule()): self._autoAnnotationGroups = self._scaffoldType.generateMesh( region, self._scaffoldSettings) # need next node identifier for creating user-defined marker points nodes = region.getFieldmodule().findNodesetByFieldDomainType( Field.DOMAIN_TYPE_NODES) self._nextNodeIdentifier = get_maximum_node_identifier(nodes) + 1 if self._meshEdits: # apply mesh edits, a Zinc-readable model file containing node edits # Note: these are untransformed coordinates sir = region.createStreaminformationRegion() srm = sir.createStreamresourceMemoryBuffer(self._meshEdits) region.read(sir) # define user AnnotationGroups from serialised Dict self._userAnnotationGroups = [ AnnotationGroup.fromDict(dct, self._region) for dct in self._userAnnotationGroupsDict ] self._isGenerated = True if applyTransformation: self.applyTransformation()
def generate(self, region, applyTransformation=True): ''' Generate the finite element scaffold and define annotation groups. :param applyTransformation: If True (default) apply scale, rotation and translation to node coordinates. Specify False if client will transform, e.g. with graphics transformations. ''' self._region = region with ChangeManager(region.getFieldmodule()): self._autoAnnotationGroups = self._scaffoldType.generateMesh(region, self._scaffoldSettings) if self._meshEdits: # apply mesh edits, a Zinc-readable model file containing node edits # Note: these are untransformed coordinates sir = region.createStreaminformationRegion() srm = sir.createStreamresourceMemoryBuffer(self._meshEdits) region.read(sir) # define user AnnotationGroups from serialised Dict self._userAnnotationGroups = [ AnnotationGroup.fromDict(dct, self._region) for dct in self._userAnnotationGroupsDict ] if applyTransformation: self.applyTransformation()