SplineData

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

On 21/01/2012 at 03:41, xxxxxxxx wrote:

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

---------
Hello,
I have two questions.

1. How can I create and assigned an LinearSpline to a SplineData ?
I like to build an linear sline as default spline in an own CUSTOMDATATYPE_SPLINE.

2. If I have an existing spline, I can set the ranges with "AdaptRange(...)". But the dialog or
the GUI doesn't updated. Only if I open the dialog in a separate window it's updated. Which
message or command do I need ?😢

thanks
Marky

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

On 23/01/2012 at 22:42, xxxxxxxx wrote:

Hi,

how can I call the "Frame All" from the popup menu from a SplineGUI ?
Because I have to update the ranges.
😢

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

On 24/01/2012 at 01:32, xxxxxxxx wrote:

Originally posted by xxxxxxxx

1. How can I create and assigned an LinearSpline to a SplineData ?
I like to build an linear sline as default spline in an own CUSTOMDATATYPE_SPLINE.

You can call SplineData::MakeLinearSplineLinear() or SplineData::MakeLinearSplineBezier(). In the SDK examples, HairStylingTag::Init() shows how to init a SplineData.

Originally posted by xxxxxxxx

2. If I have an existing spline, I can set the ranges with "AdaptRange(...)". But the dialog or the GUI doesn't updated. Only if I open the dialog in a separate window it's updated. Which message or command do I need ?

In what method of your plugin do you call AdaptRange() ?

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

On 24/01/2012 at 04:33, xxxxxxxx wrote:

Hi, thanks for the first point.

Relating to the second point, I like to change the range for the spline, not from 0 to 1 but -20 to +80. It's depend from 4 input properties (LONG values,  xmin, xmax, ymin and ymax). So I receive an message MSG_DESCRIPTION_CHECKUPDATE if something changed and than I like to adapt the range for the slides. I call the AdaptRange() function or/and also the SetRange() function but the GUI doesn't updated. Only if I select the "Frame All" from the popup menu.

Marky

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

On 25/01/2012 at 07:16, xxxxxxxx wrote:

Originally posted by xxxxxxxx

Relating to the second point, I like to change the range for the spline, not from 0 to 1 but -20 to +80. It's depend from 4 input properties (LONG values,  xmin, xmax, ymin and ymax). So I receive an message MSG_DESCRIPTION_CHECKUPDATE if something changed and than I like to adapt the range for the slides. I call the AdaptRange() function or/and also the SetRange() function but the GUI doesn't updated. Only if I select the "Frame All" from the popup menu.

Why do you need to adapt and/or set the range at a MSG_DESCRIPTION_CHECKUPDATE ?
You should only call AdaptRange() and/or SetRange() in Read() or Init() of your plugin to initialize SplineData range and get a GUI update.

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

On 25/01/2012 at 07:32, xxxxxxxx wrote:

I thought, if the user like to change the range of the spline GUI and he make some changes on other properties, than I can adapt the GUI. By the way, I don't have a Read() function in my plugin. Do you have an example for me ?

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

On 30/01/2012 at 03:33, xxxxxxxx wrote:

Originally posted by xxxxxxxx

I thought, if the user like to change the range of the spline GUI and he make some changes on other properties, than I can adapt the GUI.

Take a look at the spline deformer shape. If you change the radius value, the spline is updated but not the X range. As you said before, to update it we have to open the spline in a new window or select "Frame All" menu item.
There's no 'coding way' with the SDK to refresh the ranges.

Originally posted by xxxxxxxx

By the way, I don't have a Read() function in my plugin. Do you have an example for me ?

See "Spline GUI" section in "Changes since 12.048" documentation page.