THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/12/2003 at 09:34, xxxxxxxx wrote:
Cinema 4D Version: 8.206
Language(s) : C++ ;
Im trying to make a clone of a deformed primitive spline.
The code im using is:
// obj1 is a Arc Spline (that has a bend deformer as its child)
BaseObject *object = op->GetAndCheckHierarchyClone(hh, obj1, HCLONE_ASSPLINE, &dirty, 0, false);
if(!dirty) return object;
SplineObject *spline = static_cast<SplineObject*>(object)->GetRealSpline();
GePrint("Spline is null");
The result of that returns "Spline is null in the console when I have a deformer as a child of the spline. If i remove or de-activate the deformer, the spline variable is valid and my plugin works like it should.
What am I doing wrong?
On 31/12/2003 at 02:15, xxxxxxxx wrote:
A deformed spline is no longer a SplineObject, it's a LineObject. You might be able to use HCLONE_ASLINE. I prefer to use HCLONE_ASIS, SendModelingCommand(MCOMMAND_CURRENTSTATETOOBJECT) and then GetRealSpline() on that. If I get something back I consider it a spline object.
The drawback is that once a spline is converted to a Line it loses its interpolation option, it's just a couple of line segments. So you'll lose precision when using e.g. GetSplineTangent(). Therefore you might want to provide a variant without the current state to object, to only accept undeformed splines.
On 02/01/2004 at 08:29, xxxxxxxx wrote:
Worked a charm I used the HCLONE_ASIS/SendModelingCommand way