Warning: Can't synchronize with repository "(default)" (/disks/svn_mcs/repos/neams-ibm does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 10 and Version 11 of iMeshComponent


Ignore:
Timestamp:
02/18/09 14:36:14 (14 years ago)
Author:
billings
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • iMeshComponent

    v10 v11  
    77== Building the Component == 
    88 
    9 Building the component should be as simple as creating a CCA port and using the iMeshC.iMeshPort.sidl file attached to this article. After port is created, a component that provides this port can be implemented with the attached iMeshC_iMeshComponent_Impl.c file. 
     9Building the component should be as simple as creating a CCA port and using the iMeshC.iMeshPort.sidl file attached to this article. After a port is created, a component that provides this port can be implemented with the attached iMeshC_iMeshComponent_Impl.c file. 
     10 
     11== Design and Performance == 
     12 
     13The SIDL file for this component was developed from a previous SIDL wrapping included with MOAB. The most important difference is that this version does not use objects and, instead, passes an opaque pointer to the mesh with each function call. The component is implemented in C and is a direct 1-1 wrapping of the iMesh C interface. 
     14 
     15There are some important memory considerations when wrapping a library with SIDL. In particular, SIDL defines its own array type and efficiently transferring information to and from this type must be considered to avoid a performance hit. Copying incoming arrays can be avoided if the stride of the array is equal to one. Outgoing arrays can always be "borrowed," so long as the memory doesn't magically disappear. 
    1016 
    1117== Tests ==