thanks a lot for the fix.
actually I put the initialization of the leaf attribute with the
initialization of other ones so that everything is done in the same
place. (committed in rev 2816)
gael.
2008/10/18 bshu <bs...@ic...>:
> gael,
>
> thanks for the reply. I have found the cause of the crash of the MLS plugin,
> seems problem from the rebuild function of the balltree:
>
> template<typename _Scalar>
> void BallTree<_Scalar>::rebuild(void)
> {
> delete mRootNode;
>
> mRootNode = new Node();
> IndexArray indices(mPoints.size());
> AxisAlignedBoxType aabb;
> aabb.Set(mPoints[0]);
> for (unsigned int i=0 ; i<mPoints.size() ; ++i)
> {
> indices[i] = i;
> aabb.min = Min(aabb.min, CwiseAdd(mPoints[i], -mRadii[i]*mRadiusScale));
> aabb.max = Max(aabb.max, CwiseAdd(mPoints[i], mRadii[i]*mRadiusScale));
> }
> mRootNode->leaf = 0; // shall we add this line
> to set the root node to a none leaf? because if not the root leaf's indices
> will be wrong
> buildNode(*mRootNode, indices, aabb, 0);
>
> mTreeIsUptodate = true;
> }
>
> I added that line and the problem solved, could you please have a look at it
> ? thanks!
>
> ________________________________
> 2008-10-18
> shubo
> ________________________________
> 发件人: Gael Guennebaud
> 发送时间: 2008-10-17 15:17:56
> 收件人: Meshlab development list
> 抄送:
> 主题: Re: [Meshlab-devel] point based stuff
> 2008/10/17 bshu <bs...@ic... >
>>
>> thanks for the plugins, I have tried them. but I found some problems:
>>
>> 1. I used the splatrenderer, found it works on the chameleon4k.pts dataset, but when I tried my own created ply models (which including vertex positions, normals and colors), it does not work, when I select the splatting menu, the model just does not show, does your plugin need the model to have any properties?
>
> yes you need the radius property, so currently there is only one
> filter which do this : Point Set - > Compute radius from density
>
>
>> 2. I tried the MLS plugin too, but it does not work, using the chameleon4k.pts dataset, the program crash on
>>
>> template <typename _Scalar >
>> void BallTree <_Scalar >::queryNode(Node& node, Neighborhood <Scalar
>> >* pNei) const
>> {
>> if (node.leaf)
>> {
>> for (unsigned int i=0 ; i <node.size ; ++i)
>> {
>> int id = node.indices[i];
>> Scalar d2 = vcg::SquaredNorm(mQueryPosition - mPoints[id]); //crash on this line ( seems the id is wrong, the value is -104333106....
>> Scalar r = mRadiusScale * mRadii[id];
>> if (d2 <r*r)
>> pNei- >insert(id, d2);
>> }
>> }
>>
>> could you figure it out? thanks!
>
> ah weird, that's probably a buffer overflow, I'll check that. thanks
> for the report.
>
> gael.
>
>> shubo
>>
>> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>> Hi all,
>>
>> to keep everybody up to date, I think it is time to present a bit the point based related stuffs I recently added in meshlab, so here you go:
>>
>> 1 - a high quality splatting renderer to quickly render point clouds equipped with normals. (in meshlabplugins/splatrenderer)
>>
>> It implements a perspective accurate splatting algorithm with deferred shading for high quality phong shading. You can scale the size of the splats, as usual, with alt+wheel.
>>
>> To try it, open src/sample/chameleon4k.pts or src/sample/bunny16.pts, and select Render-
>> >Shaders-
>> >splatting (those two models are very sparse, so no high quality here ! ).
>>
>> As any piece of code which highly relies on somewhat advanced hardware features, it is likely to not work on any systems yet. So I'll be happy to get feedback on systems other than Linux + nvidia 8x00 (which should work well) and Linux + ATI (which does not work because of a 5 years old bug in ATI cards/drivers).
>>
>>
>> 2 - MLS based surface reconstruction and smoothing. (in meshlabplugins/mlsfilter)
>>
>> These filters are in Filters-
>> >Point Set and they implement APSS which is based on spherical fit (it can also do plane fit by setting the spherical parameter to 0). The other one called ##### is experimental.
>>
>> To try it, open src/sample/chameleon4k.pts, look a bit at the very low sampling density of the model, do a marching cube extraction with APSS and change the parameters to:
>> - Filter scale = 2.1
>> - grid resolution = 750 (here we need a dense grid to capture the fine parts of the model)
>> and wait a couple of seconds... It also work very well at noise removal. In that case you'll have to increase the filter scale parameter to increase the smoothness (and computation time !).
>>
>> The "projection" filter project a mesh/points onto the MLS surface. You can project a mesh/points on itself but in that case the initial MLS surface is lost (because after the projection the points/vertices define a different surface). So in practice is is better to first clone the model.
>>
>> cheers,
>> gael.
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Meshlab-devel mailing list
>> Mes...@li...
>> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
>>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Meshlab-devel mailing list
> Mes...@li...
> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Meshlab-devel mailing list
> Mes...@li...
> https://lists.sourceforge.net/lists/listinfo/meshlab-devel
>
>
|