All Frameworks  Class Hierarchy  This Framework  Indexes   

AnalysisMeshingModel Interface CATIMSHMesh

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATIMSHMesh

Interface representing the Mesh (nodes and elements).
Role: The Mesh is the object which manage nodes and elements, see CATMSHNode and CATMSHElement.


Method Index


o CreateElements(CATIMSHConnectivity*,int,CATMSHNode* const*,int,CATMSHElement**)
Creates finite elements.
o CreateGroup(int,CATMSHNode**)
Creates a group of finite elements nodes.
o CreateGroup(int,CATMSHElement**)
Creates a group of finite elements.
o CreateMeshDomain(CATIMSHMeshPart*)
Create a new Mesh Domain.
o CreateNodesCondensedOn(int,CATMSHNode* [],CATMSHNode* [])
Create nodes condensed on nodes from another Mesh.
o CreateNodes(double*,int,CATMSHNode**)
Creates nodes.
o DeleteElements(int,CATMSHElement**,int)
Delete elements.
o DeleteNodes(int,CATMSHNode**)
Delete nodes.
o GetAllCoordinates(double*)
Retreive coordinates of all finite element nodes contained in the Mesh.
o GetAllElements(CATMSHElement**)
Retreive all finite elements contained in the Mesh.
o GetAllLinkedNodes(int*,CATINTPTR*)
Retreives the linked nodes of all finite elements contained in the Mesh.
o GetAllNodes(CATMSHNode**)
Retreive all finite element nodes contained in the Mesh.
o GetElementFromTag(unsigned int)
Retreives a finite element from its integer tag.
o GetElementsConnectivities(CATIMSHConnectivity**)
Retreives the connectivity of all finite elements contained in the Mesh.
o GetFirstElement()
Returns the first finite element of the Mesh.
o GetFirstMeshDomain()
Returns the first Mesh Domain of the Mesh.
o GetFirstMeshPart()
Returns the first Mesh Part of the Mesh.
o GetFirstNode()
Returns the first finite element node of the Mesh.
o GetLastNode()
Returns the last finite element node of the Mesh.
o GetMeshDomainFromTag(unsigned int)
Retreives a Mesh Domain from its integer tag.
o GetMeshManager()
Returns the Mesh Manager corresponding to the Mesh.
o GetNodeFromTag(unsigned int)
Retreives a finite element node from its integer tag.
o GetNumberOfElements()
Returns the number of finite elements contained in the Mesh.
o GetNumberOfLinkedNodes()
Computes the total number of linked nodes i.
o GetNumberOfMeshDomains()
Returns the total number of Mesh Domain of the Mesh.
o GetNumberOfNodes()
Returns the number of finite element nodes contained in the Mesh.
o IsContaining(CATMSHNode*)
Check if a node is contained in the Mesh.
o IsContaining(CATMSHElement*)
Check if a finite element is contained in the Mesh.
o ModifyElement(CATMSHElement*,CATMSHElementVisuAttribute*)
Modify a finite element.
o ModifyNode(CATMSHNode*,double[3],CATMSHNodeVisuAttribute*)
Modify a finite element node.
o SetCurrentMeshDomain(CATMSHMeshDomain*)
Set a new current Mesh Domain.
o UpdateVisualization()
Update visualization after Mesh modifications ( nodes/elements creation, modification or deletion).

Methods


o CreateElements
public virtual CreateElements( iConnectivity,
iNbOfNodesPerElement,
iNodes,
iNbOfElements= 1 ,
ioElements= NULL )
Creates finite elements.
Role: This method creates a set of new finite elements in the Mesh.
Parameters:
iConnectivity
Connectivity of the finite elements to create.
iNbOfNodesPerElement
Number of finite elements nodes per finite element to create.
iNodes
Array containing pointers to nodes of all finite elements to create.
iNbOfElements
Number of finite elements to create.
ioElements
Array containing pointers to the created elements.
Returns:
An HRESULT.
Legal values:
S_OK
Elements successfully created.
E_FAIL
The operation failed.
o CreateGroup
public virtual CreateGroup( iNbNodes,
iNodes)
Creates a group of finite elements nodes.
Parameters:
iNbNodes
Number of finite elements nodes in group.
iNodes
Array containing the finite elements nodes.
Lifecycle rules deviation: iNodes pointer is kept by the group and should not be desallocated by the callee.
Returns:
CATBaseUnknown#Release The created group of finite elements nodes.
o CreateGroup
public virtual CreateGroup( iNbElements,
iElements)
Creates a group of finite elements.
Parameters:
iNbElements
Number of finite elements in group.
iElements
Array containing the finite elements.
Lifecycle rules deviation: iElements pointer is kept by the group and should not be desallocated by the callee.
Returns:
CATBaseUnknown#Release The created group of finite elements.
o CreateMeshDomain
public virtual CreateMeshDomain( MeshPart= NULL )
Create a new Mesh Domain.
Role: The finite elements which are created (using CreateElements method) are associated to the current Mesh Domain. This method close the previous Mesh Domain and creates a new one. Further calls to CreateElements method will create elements associated to this Mesh Domain.
Parameters:
MeshPart
Mesh Part to which this Mesh Domain will be associated (see
CATIMSHMeshPart ).
Returns:
A pointer on the created Mesh Domain.
Lifecycle rules deviation: the method does not AddRef the returned value..
o CreateNodesCondensedOn
public virtual CreateNodesCondensedOn( iNbNodes,
iImageNodes,
ioCondensedNodes)
Create nodes condensed on nodes from another Mesh.
Role: This method createss a set of finite elements nodes (named condensed nodes) in the Mesh condensed Mesh. This is the way to "connect" two different finite element models.
Parameters:
iNbNodes
Number of finite elements nodes to create.
iImageNodes
Array containing pointers to the image nodes on which the created nodes will be condensed.
ioCondensedNodes
Array that will contain pointer to condensed nodes created by the method.
Returns:
An HRESULT.
Legal values:
S_OK
Nodes successfully created.
E_FAIL
The operation failed.
o CreateNodes
public virtual CreateNodes( const iCoordinates,
iNbOfNodes= 1 ,
ioNodes= NULL )
Creates nodes.
Role: This method creates a set of new finite elements nodes in the Mesh.
Parameters:
iCoordinates
Array containing the XYZ coordinates of the nodes to create in the following order: X1, Y1, Z1, X2, Y2, Z2, ...
iNbOfNodes
Number of finite elements nodes to create.
ioNodes
Array containing pointers to the created nodes.
Returns:
An HRESULT.
Legal values:
S_OK
Nodes successfully created.
E_FAIL
The operation failed.
o DeleteElements
public virtual DeleteElements( iNbOfElements,
iElements,
iDeleteFreedNodes= 1 )
Delete elements.
Role: This method deletes a set of finite elements in the Mesh.
Parameters:
iNbOfElements
Number of finite elements to delete.
iNodes
Array containing pointers to the elements to be deleted.
iDeleteFreedNodes

Legal values:
1
After elements deletion, if a node becomes free (i.e. without any linked element), it will be deleted also.
0
No impact on finite elements nodes.
Returns:
An HRESULT.
Legal values:
S_OK
Elements successfully deleted.
E_FAIL
The operation failed.
o DeleteNodes
public virtual DeleteNodes( iNbOfNodes,
iNodes)
Delete nodes.
Role: This method deletes a set of finite elements nodes in the Mesh.
Parameters:
iNbOfNodes
Number of finite elements nodes to delete.
iNodes
Array containing pointers to the nodes to be deleted.
o GetAllCoordinates
public virtual GetAllCoordinates( ioXYZ)
Retreive coordinates of all finite element nodes contained in the Mesh.
Parameters:
ioXYZ
Array containing nodes coordinates in the following order: X1, Y1, Z1, X2, Y2, Z2, ...
Returns:
The number of finite element nodes contained in the Mesh.
o GetAllElements
public virtual GetAllElements( ioElements)
Retreive all finite elements contained in the Mesh.
Parameters:
ioElements
Array containing pointers on all elements of the Mesh.
Returns:
The number of finite elements contained in the Mesh.
o GetAllLinkedNodes
public virtual GetAllLinkedNodes( ioLastLinkedNodes,
ioLinkedNodes)
Retreives the linked nodes of all finite elements contained in the Mesh.
Parameters:
ioLastLinkedNodes
Array containing for each finite element a backward position in ioLinkedNodes array i.e. the position of the last linked node of each finite element in ioLinkedNodes array.
The elements are listed in same order as in
GetAllElements method.
ioLinkedNodes
Array containing the linked nodes of each finite elements.
Nodes are identified by an integer representing their position in the ioNodes array of the
GetAllNodes method.
Returns:
The number of finite elements contained in the Mesh.
o GetAllNodes
public virtual GetAllNodes( ioNodes)
Retreive all finite element nodes contained in the Mesh.
Parameters:
ioNodes
Array containing pointers on all nodes of the Mesh.
Returns:
The number of finite element nodes contained in the Mesh.
o GetElementFromTag
public virtual GetElementFromTag( iTag)
Retreives a finite element from its integer tag.
Parameters:
iTag
Integer tag.
Returns:
The pointer on the finite element if any or NULL if no element correpond to this tag.
o GetElementsConnectivities
public virtual GetElementsConnectivities( ioConnectivities)
Retreives the connectivity of all finite elements contained in the Mesh.
Parameters:
ioConnectivities
Array containing for each finite element a pointer to its connectivity.
The elements are listed in same order as in
GetAllElements method.
Returns:
The number of finite elements contained in the Mesh.
o GetFirstElement
public virtual GetFirstElement()
Returns the first finite element of the Mesh.
See CATMSHElement.Next method to scan the other elements.
o GetFirstMeshDomain
public virtual GetFirstMeshDomain()
Returns the first Mesh Domain of the Mesh.
See CATMSHMeshDomain.Next method to scan the other Mesh Domains.
Lifecycle rules deviation: the method does not AddRef the returned value..
o GetFirstMeshPart
public virtual GetFirstMeshPart()
Returns the first Mesh Part of the Mesh.
See CATIMSHMeshPart.Next method to scan the other Mesh Parts. Take care of the fact that the order in which Mesh Parts are returned is arbitrary qnd that only Mesh Parts containing elements are returned.
Returns:
CATBaseUnknown#Release
o GetFirstNode
public virtual GetFirstNode()
Returns the first finite element node of the Mesh.
See CATMSHNode.Next method to scan the other nodes.
o GetLastNode
public virtual GetLastNode()
Returns the last finite element node of the Mesh.
See CATMSHNode.Previous method to scan the other nodes.
o GetMeshDomainFromTag
public virtual GetMeshDomainFromTag( Tag)
Retreives a Mesh Domain from its integer tag.
Parameters:
iTag
Integer tag.
Returns:
The pointer on the Mesh Domain if any or NULL if no Mesh Domain correpond to this tag.
o GetMeshManager
public virtual GetMeshManager()
Returns the Mesh Manager corresponding to the Mesh.
Returns:
CATBaseUnknown#Release
o GetNodeFromTag
public virtual GetNodeFromTag( iTag)
Retreives a finite element node from its integer tag.
Parameters:
iTag
Integer tag.
Returns:
The pointer on the finite element node if any or NULL if no node correpond to this tag.
o GetNumberOfElements
public virtual GetNumberOfElements()
Returns the number of finite elements contained in the Mesh.
o GetNumberOfLinkedNodes
public virtual GetNumberOfLinkedNodes()
Computes the total number of linked nodes i.e. the sum of all linked nodes for all finite elements.
This size should be used to allocate ioLinkedNodes argument in GetAllLinkedNodes method.
o GetNumberOfMeshDomains
public virtual GetNumberOfMeshDomains()
Returns the total number of Mesh Domain of the Mesh.
o GetNumberOfNodes
public virtual GetNumberOfNodes()
Returns the number of finite element nodes contained in the Mesh.
o IsContaining
public virtual IsContaining( iNode)
Check if a node is contained in the Mesh.
Parameters:
iNode
Node to check.
Returns:

Legal values:
1
The node is part of the Mesh.
0
The node is not part of the Mesh.
o IsContaining
public virtual IsContaining( iElement)
Check if a finite element is contained in the Mesh.
Parameters:
iElement
Finite element to check.
Returns:

Legal values:
1
The finite element is part of the Mesh.
0
The finite element is not part of the Mesh.
o ModifyElement
public virtual ModifyElement( iElement,
const iNewAttribute= NULL )
Modify a finite element.
Role: This method is used to modify a finite element (geometry and/or graphic attributes). This method should be called for each element for any geometrical or graphical modifications. A geometrical modification is a coordinates modification of its linked nodes. Note that a graphical modification of finite element is not persistent. The programmer needs to use the interface CATIVisProperties. to store the attributes into the graphic properties.
Parameters:
iElement
Finite element to modify.
iNewAttribute
New graphic attributes. Can be set to NULL if only coordinates are changed.
o ModifyNode
public virtual ModifyNode( iNode,
const iNewCoordinates,
const iNewAttribute= NULL )
Modify a finite element node.
Role: This method is used to modify a finite element node (coordinates and/or graphic attributes).This method should be called for each Node for any geometrical or graphical modifications. Note that a graphical modification of node is not persistent. The programmer needs to use the interface CATIVisProperties. to store the attributes into the graphic properties.
Parameters:
iNode
Finite element node to modify.
iNewCoordinates
New coordinates for the finite element node. Should be initialized with the current ones if only graphic attributes are modified.
iNewAttribute
New graphic attributes. Can be set to NULL if only coordinates are changed.
o SetCurrentMeshDomain
public virtual SetCurrentMeshDomain( Domain)
Set a new current Mesh Domain. Further calls to CreateElements method will create elements associated to this Mesh Domain.
Parameters:
Domain
New current Mesh Domain.
o UpdateVisualization
public virtual UpdateVisualization()
Update visualization after Mesh modifications ( nodes/elements creation, modification or deletion).
Role: This method has to be called to update visualisation if and only if the modifications have occured outside from the standard Build/Update process, i.e. outside from the implementation of a mesher (see CATIMSHMesher.Mesh method).
This method should be called once at the end of a transaction, when all modifications have been performed.

This object is included in the file: CATIMSHMesh.h
If needed, your Imakefile.mk should include the module: CATAmtModel

Copyright © 2003, Dassault Systèmes. All rights reserved.