Thanks Mr. Osfield for addressing this and clearing this up.  I am also 
relieved to learn that I am not a complete idiot.

I will look into the VulkanSceneGraph project.

Best regards,

Bob Kiser


On Thursday, August 19, 2021 at 1:22:22 AM UTC-5 [email protected] wrote:

> Hi Robert,
>
> The code is fine, the compiler is trying to be clever in case a possible 
> errant use of C++, but isn't so clever as to see that the new'd object is 
> being immediately assigned to a smart pointer. It should be possible to 
> quieten down this type of warnings in the compiler.  Alternatively perhaps 
> the compiler can be quietened down by doing:
>
>    osg::ref_ptr<osg::Node> node(new osg::Node);
>
> With the successor to the OpenSceneGraph, the VulkanSceneGraph I've also 
> implemented an equivalent of osg::ref_ptr<> and also works with intrusive 
> reference counting, but to help avoid the need for new calls I've 
> implemented a Object::create() method that does the new and returns a 
> vsg::ref_ptr<> for you. This allows you to do:
>
>      auto node = vsg::Node::create(); // does a new Node and returns 
> vsg::ref_ptr<vsg::Node>
>
> I've also tweak vsg::ref_ptr<> so it doesn't allow straight C pointer 
> assigned, to try and catch possible new misuse, I'm not entirely convinced 
> it's a really sound restriction, but am trying it out to see what the 
> impact is on day to day coding.
>
> For the OSG, it's over 20 years old, and is in maintenance mode, so major 
> changes that could break user code aren't on the table.  A tweak like 
> adding a osg::Node::create() style usage might be possible to retrofit to 
> the META_Node macro but replacing all new usage in the OSG code base would 
> be a huge endeavour and likely fraught with potential error.
>
> Cheers,
> Robert.
>

-- 
You received this message because you are subscribed to the Google Groups 
"OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osg-users/6341a63d-c180-4892-bbb3-ea8b9dd8d860n%40googlegroups.com.

Reply via email to