Hi Carsten,

thanks for the patch. I added it to the cvs.

Andreas

>       Hi,
> 
> the attached small patch (against 1.x cvs) allows to call the
> deepCloneAttachments functions for all types derived from
> AttachmentContainer. The drawback is a small performance penalty as
> instead of passing a NodePtr&, now AttachmentContainerPtr (note: not a
> reference) is used.
> It compiled fine for me on linux, and tutorial 17deepClone still works
> (this is relevant as deepCloneTree calls deepCloneAttachments).
> 
>       Cheers,
>               Carsten
> 
> 
> ------------------------------------------------------------------------
> 
> Index: Source/System/FieldContainer/OSGNode.cpp
> ===================================================================
> RCS file: /cvsroot/opensg/OpenSG/Source/System/FieldContainer/OSGNode.cpp,v
> retrieving revision 1.25
> diff -u -r1.25 OSGNode.cpp
> --- Source/System/FieldContainer/OSGNode.cpp  3 Jul 2006 13:52:23 -0000       
> 1.25
> +++ Source/System/FieldContainer/OSGNode.cpp  26 Aug 2006 15:11:37 -0000
> @@ -899,7 +899,8 @@
>  }
>  
>  // deep clone of attachements.
> -void OSG::deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void OSG::deepCloneAttachments(const AttachmentContainerPtr &src, 
> +                                     AttachmentContainerPtr  dst,
>                                 const std::vector<std::string> &share)
>  {
>      SFAttachmentMap *amap = (SFAttachmentMap *) src->getSFAttachments();
> @@ -934,7 +935,8 @@
>      endEditCP(dst, Node::AttachmentsFieldMask);
>  }
>  
> -void OSG::deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void OSG::deepCloneAttachments(const AttachmentContainerPtr &src,
> +                                     AttachmentContainerPtr  dst,
>                                 const std::vector<UInt16> &shareGroupIds)
>  {
>      std::vector<std::string> share;
> @@ -951,7 +953,8 @@
>  
>  // shareString is a comma separated FieldContainer type list
>  // e.g. "Material, Geometry"
> -void OSG::deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void OSG::deepCloneAttachments(const AttachmentContainerPtr &src,
> +                                     AttachmentContainerPtr  dst,
>                                 const std::string &shareString)
>  {
>      std::vector<std::string> share;
> Index: Source/System/FieldContainer/Impl/OSGNodeImpl.h
> ===================================================================
> RCS file: 
> /cvsroot/opensg/OpenSG/Source/System/FieldContainer/Impl/OSGNodeImpl.h,v
> retrieving revision 1.10
> diff -u -r1.10 OSGNodeImpl.h
> --- Source/System/FieldContainer/Impl/OSGNodeImpl.h   20 Jul 2005 00:09:07 
> -0000      1.10
> +++ Source/System/FieldContainer/Impl/OSGNodeImpl.h   26 Aug 2006 15:11:37 
> -0000
> @@ -356,15 +356,18 @@
>                              const std::string &shareString = "");
>  
>  OSG_SYSTEMLIB_DLLMAPPING
> -void deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void deepCloneAttachments(const AttachmentContainerPtr &src,
> +                                AttachmentContainerPtr  dst,
>                            const std::vector<std::string> &share);
>  
>  OSG_SYSTEMLIB_DLLMAPPING
> -void deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void deepCloneAttachments(const AttachmentContainerPtr &src, 
> +                                AttachmentContainerPtr  dst,
>                            const std::vector<UInt16> &shareGroupIds);
>  
>  OSG_SYSTEMLIB_DLLMAPPING
> -void deepCloneAttachments(const NodePtr &src, NodePtr &dst,
> +void deepCloneAttachments(const AttachmentContainerPtr &src, 
> +                                AttachmentContainerPtr  dst,
>                            const std::string &shareString = "");
>                        
>  OSG_SYSTEMLIB_DLLMAPPING
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Opensg-users mailing list
> Opensg-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensg-users


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to