Getting data from SplineData

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 04:03, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   9 
Platform:      
Language(s) :     C++  ;

---------
Hi list, i'm in trouble to get data from a SplineData panel.

spdata=data->GetCustomDataType(PATHDEFORMER_SCALE, CUSTOMDATATYPE_SPLINE);
if (!spdata)
{
    GePrint("spdata is null");
    return TRUE;
}

Vector punto=spdata->GetPoint(.5);

spdata is always null, so i wrong to do that.
What's the method to get wonderful data from a Spline panels?

I know that my english is very bad, but i hope that someone understand what i mean.

Best Regards
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 04:04, xxxxxxxx wrote:

the code that i wrote is this.. replace first line wuth this.

spdata=(SplineData* ) data->GetCustomDataType(PATHDEFORMER_SCALE, CUSTOMDATATYPE_SPLINE);

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 12:36, xxxxxxxx wrote:

Any help?

Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 13:21, xxxxxxxx wrote:

Did you create the spline and store it? If it isn't created it cannot be accessed. I do this in the Init() function. The rest of your code seemed fine.

// Set Spline Data
GeData d ( CUSTOMDATATYPE_SPLINE, DEFAULTVALUE );
SplineData *p = (SplineData* ) d.GetCustomDataType( CUSTOMDATATYPE_SPLINE );
if ( p )
{
p->MakeLinearSpline( 2 );
p->InsertKnot( 0.25, 0.0, TRUE );
p->InsertKnot( 0.75, 1.0, TRUE );
p->SetRound( 0.0 );
}
data->SetData( YOUR_PARAMETER_ID, d );

darf

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 15:00, xxxxxxxx wrote:

Darf, thank, now cinema is not crashing 🙂 but, how i can get y value from x value?

i tried with spline->GetPoint(real); but it return a 0,0,0 vector.

thanks for your precious infos
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 08/12/2004 at 16:31, xxxxxxxx wrote:

Ok Darf, all ok 🙂

cheers
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 12/12/2004 at 13:27, xxxxxxxx wrote:

Dwarf,

your help make my code working but don't initialize anything. Where i can find an example code for that?

In sdk i don't found anything that help me to use correct this panel.
Thank
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 14/12/2004 at 07:39, xxxxxxxx wrote:

Sorry for not getting back, the forum must forward emails to the old bhodinut account.

The code I offered works for initializing the the spline data ( that is how NICKL works ). Can you create an example project and post it?

Erhmm... I have never been considered a dwarf before. It's darf, no matter what certain MAXON employees say. 9-)

darf

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 14/12/2004 at 21:02, xxxxxxxx wrote:

Hi Darf, thanks.

here the code for Init:

GeData d ( CUSTOMDATATYPE_SPLINE, DEFAULTVALUE );
     SplineData *p = (SplineData* ) d.GetCustomDataType( CUSTOMDATATYPE_SPLINE );
     if ( p )
     {
          p->MakeLinearSpline( 2 );
          p->InsertKnot( 0.0, 1.0, TRUE );
          p->InsertKnot( 1.0, 1.0, TRUE );
          p->SetRound( 0.0 );
     }
     data->SetData( PATHDEFORMER_SCALE, d );

and here i read data:

SplineData *spdata=NULL;
     spdata=(SplineData* ) data->GetCustomDataType(PATHDEFORMER_SCALE, CUSTOMDATATYPE_SPLINE);

and..

spliney=spdata->GetPoint(o);
to get yspline value from (0<o<1)

-----------------------------------------
it work, but when i try to reset splinedata from the editor, all points disappear.. i thought that a precedent initialization was usefull to set default value.

Any help?

Thanks
Renato

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 15/12/2004 at 16:52, xxxxxxxx wrote:

Spline Datatypes reset to no points. I am not sure if there is way to get around that unless you write your spline datatype.

darf

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 15/12/2004 at 17:17, xxxxxxxx wrote:

Uhm..
i think that i no wrote spline datatype

i'm a very starter, could you be more precise?

Thanks
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 15/12/2004 at 17:56, xxxxxxxx wrote:

p->MakeLinearSpline( -1 );
p->InsertKnot( 0.0, 1.0, TRUE );
p->InsertKnot( 1.0, 1.0, TRUE );

Ok, now it work like i need.

Testing... 🙂

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 15/12/2004 at 19:59, xxxxxxxx wrote:

Uhh, -1, is that a default value I don;t know about? That value is the number of points to allocate me thinks. I am not sure. I offered the only code for the C4D internal spline datatype. The custom spline datatype I was referrring to would be completely written by you. The internal spline type is very limited IMHO.

darf

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/12/2004 at 17:13, xxxxxxxx wrote:

Darf,

With this my spline was initialized with 2 point and make a corretc default curve.

Anyway, the probs is my english. For me is hard to understand.

Thanks for your help
Renato T.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/12/2004 at 19:04, xxxxxxxx wrote:

Problem solved?

darf

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/12/2004 at 19:43, xxxxxxxx wrote:

Yes, now when i start plugin the spline are like i need.

thanks
Renato T.