Esempio n. 1
0
 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()
Esempio n. 2
0
 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()