All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

AnalysisMeshingModel Interface CATIMSHMesh

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---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,CATMSHElement**)
Creates a group of finite elements.
o CreateGroup(int,CATMSHNode**)
Creates a group of finite elements nodes.
o CreateMeshDomain(CATIMSHMeshPart*)
Create a new Mesh Domain.
o CreateNodes(double*,int,CATMSHNode**)
Creates nodes.
o CreateNodesCondensedOn(int,CATMSHNode* [],CATMSHNode* [])
Create nodes condensed on nodes from another Mesh.
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(CATMSHElement*)
Check if a finite element is contained in the Mesh.
o IsContaining(CATMSHNode*)
Check if a node 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 HRESULT CreateElements(CATIMSHConnectivity* iConnectivity,
int iNbOfNodesPerElement,
CATMSHNode* const* iNodes,
int iNbOfElements= 1 ,
CATMSHElement** ioElements= NULL )=0
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 CATIMSHGroup * CreateGroup(int iNbElements,
CATMSHElement** iElements)=0
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 CreateGroup
public virtual CATIMSHGroup * CreateGroup(int iNbNodes,
CATMSHNode** iNodes)=0
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 CreateMeshDomain
public virtual CATMSHMeshDomain * CreateMeshDomain(CATIMSHMeshPart* MeshPart= NULL )=0
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 CreateNodes
public virtual HRESULT CreateNodes( const double* iCoordinates,
int iNbOfNodes= 1 ,
CATMSHNode** ioNodes= NULL )=0
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 CreateNodesCondensedOn
public virtual HRESULT CreateNodesCondensedOn(int iNbNodes,
CATMSHNode* [] iImageNodes,
CATMSHNode* [] ioCondensedNodes)=0
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 DeleteElements
public virtual HRESULT DeleteElements(int iNbOfElements,
CATMSHElement** iElements,
int iDeleteFreedNodes= 1 )=0
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 void DeleteNodes(int iNbOfNodes,
CATMSHNode** iNodes)=0
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 int GetAllCoordinates(double* ioXYZ)=0
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 int GetAllElements(CATMSHElement** ioElements)=0
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 int GetAllLinkedNodes(int* ioLastLinkedNodes,
CATINTPTR* ioLinkedNodes)=0
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 int GetAllNodes(CATMSHNode** ioNodes)=0
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 CATMSHElement * GetElementFromTag(unsigned int iTag)=0
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 int GetElementsConnectivities(CATIMSHConnectivity** ioConnectivities)=0
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 CATMSHElement * GetFirstElement()=0
Returns the first finite element of the Mesh.
See CATMSHElement.Next method to scan the other elements.
o GetFirstMeshDomain
public virtual CATMSHMeshDomain * GetFirstMeshDomain()=0
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 CATIMSHMeshPart * GetFirstMeshPart()=0
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 CATMSHNode * GetFirstNode()=0
Returns the first finite element node of the Mesh.
See CATMSHNode.Next method to scan the other nodes.
o GetLastNode
public virtual CATMSHNode * GetLastNode()=0
Returns the last finite element node of the Mesh.
See CATMSHNode.Previous method to scan the other nodes.
o GetMeshDomainFromTag
public virtual CATMSHMeshDomain * GetMeshDomainFromTag(unsigned int Tag)=0
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 CATIMSHMeshManager * GetMeshManager()=0
Returns the Mesh Manager corresponding to the Mesh.
Returns:
CATBaseUnknown#Release
o GetNodeFromTag
public virtual CATMSHNode * GetNodeFromTag(unsigned int iTag)=0
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 int GetNumberOfElements()=0
Returns the number of finite elements contained in the Mesh.
o GetNumberOfLinkedNodes
public virtual int GetNumberOfLinkedNodes()=0
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 int GetNumberOfMeshDomains()=0
Returns the total number of Mesh Domain of the Mesh.
o GetNumberOfNodes
public virtual int GetNumberOfNodes()=0
Returns the number of finite element nodes contained in the Mesh.
o IsContaining
public virtual int IsContaining(CATMSHElement* iElement)=0
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 IsContaining
public virtual int IsContaining(CATMSHNode* iNode)=0
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 ModifyElement
public virtual void ModifyElement(CATMSHElement* iElement,
const CATMSHElementVisuAttribute* iNewAttribute= NULL )=0
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 void ModifyNode(CATMSHNode* iNode,
const double[3] iNewCoordinates,
const CATMSHNodeVisuAttribute* iNewAttribute= NULL )=0
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 void SetCurrentMeshDomain(CATMSHMeshDomain* Domain)=0
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 void UpdateVisualization()=0
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.