c4d.SplineData¶
-
class
c4d.
SplineData
¶ Spline data type (CUSTOMDATATYPE_SPLINE) for the
SplineCustomGui
GUIThis type is called by value.
Methods Signatures
Magic Methods
Creates a default 2 points spline. |
Deprecated
Deprecated since version Since: R13 This method is only available in R12 and always returns 0.0 in R13. |
Uncategorized
Selects all points. |
|
Flips the spline. |
|
Mirrors the spline. |
|
Set the tension. |
|
Makes all Y coordinates less than or equal to 1. |
|
Makes all Y coordinates greater than or equal to 0. |
|
Sets the interpolation type of the selected knots. |
|
Sets the tangents of selected knots to zero. |
|
Sets the knot flag for selected knots. |
|
Deletes all points. |
|
Makes an uninitialized spline with lPoints number of points. |
|
Makes a linear spline with lPoints number of points. |
|
Makes a linear bezier spline with lPoints number of points. |
|
Makes a square spline with lPoints number of points. |
|
Makes a cubic spline with lPoints number of points. |
|
Makes a root spline with lPoints number of points. |
|
Makes an inverse spline with lPoints number of points. |
|
Makes a sinus spline with lPoints number of points. |
|
Makes an absolute cosinus spline with lPoints number of points. |
|
Makes a user spline from str with lPoints number of points. |
|
Deletes a knot. |
|
Inserts a knot. |
|
Returns all knots. |
|
Sets knot properties. |
|
Gets a point from its X coordinate. |
|
Returns the count of knots which are selected. |
|
Gets the knot count. |
|
Gets the range of the spline. |
|
Sort the knots. |
|
Set the range of the spline. |
|
Adapts the internal 0-1 range of the old spline GUI to the range set by xmin, xmax, ymin and ymax. |
|
Copies this spline data values into the destination spline data. |
Inheritance
Parent Class:
Methods Documentation
-
SplineData.
__init__
(self, v=None)¶ Creates a default 2 points spline.
- Parameters
v (Optional[c4d.SplineData]) – Source spline data for copy constructor.
-
SplineData.
GetRound
(self)¶ Deprecated since version Since: R13
This method is only available in R12 and always returns 0.0 in R13.
Gets the tension.
- Return type
float
- Returns
Tension.
-
SplineData.
SelectAll
(self)¶ Selects all points.
-
SplineData.
Flip
(self)¶ Flips the spline.
-
SplineData.
Mirror
(self)¶ Mirrors the spline.
-
SplineData.
SetRound
(self, r)¶ Set the tension.
- Parameters
r (float) – The tension
-
SplineData.
Maximum
(self)¶ Makes all Y coordinates less than or equal to 1.
-
SplineData.
Minimum
(self)¶ Makes all Y coordinates greater than or equal to 0.
-
SplineData.
SetType
(self, id, bAll)¶ Sets the interpolation type of the selected knots.
- Parameters
id – The interpolation type.
bAll (bool) – Pass True to set all knots, False to set selected knots only.
- Returns
True if successful, otherwise False.
- Return type
bool
-
SplineData.
SetZero
(self, bY, bAll)¶ Sets the tangents of selected knots to zero.
- Parameters
bY (bool) – True to set the tangets’ Y coordinate to zero, False to set the X coordinate.
bAll (bool) – True to set all tangents, False to set the tangents of selected knots only.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
InitDefaultFlag
(self, flag)¶ Sets the knot flag for selected knots.
- Parameters
flag (int) –
A combination of these flags:
FLAG_KNOT_T_BREAK
Break knot tangents.
FLAG_KNOT_LOCK_X
Lock knot’s X movement.
FLAG_KNOT_LOCK_Y
Lock knot’s Y movement.
FLAG_KNOT_T_LOCK_A
Lock knot’s tangent angle.
FLAG_KNOT_T_LOCK_L
Lock knot’s tangent length.
FLAG_KNOT_T_KEEPVISUALANGLE
Keep visual angle between knot’s tangents.
ADD_KNOT_ADAPT_TANGENTS
Tangents of new knots are set in such a way that the resulting spline will match the curvature of the original spline.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
DeleteAllPoints
(self)¶ Deletes all points.
-
SplineData.
MakePointBuffer
(self, lPoints=- 1)¶ Makes an uninitialized spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeLinearSplineLinear
(self, lPoints=- 1)¶ Makes a linear spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeLinearSplineBezier
(self, lPoints=- 1)¶ Makes a linear bezier spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeSquareSpline
(self, lPoints=- 1)¶ Makes a square spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeCubicSpline
(self, lPoints=- 1)¶ Makes a cubic spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeRootSpline
(self, lPoints=- 1)¶ Makes a root spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeInversSpline
(self, lPoints=- 1)¶ Makes an inverse spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeSinSpline
(self, lPoints=- 1)¶ Makes a sinus spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeAbsCosSpline
(self, lPoints=- 1)¶ Makes an absolute cosinus spline with lPoints number of points.
- Parameters
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
MakeUserSpline
(self, str, lPoints)¶ Makes a user spline from str with lPoints number of points.
- Parameters
str (str) – User spline string. Any valid formula can be used.
lPoints (int) – Number of points, or -1 to get the default value.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
DeleteKnot
(self, a)¶ Deletes a knot.
- Parameters
a (int) – The knot index to delete.
- Return type
bool
- Returns
True if successful, otherwise False.
-
SplineData.
InsertKnot
(self, x, y, flags=0)¶ Inserts a knot.
- Parameters
x (float) – X coordinate
y (float) – Y coordinate
flags (int) –
Flags:
FLAG_KNOT_T_BREAK
Break knot tangents.
FLAG_KNOT_LOCK_X
Lock knot’s X movement.
FLAG_KNOT_LOCK_Y
Lock knot’s Y movement.
FLAG_KNOT_T_LOCK_A
Lock knot’s tangent angle.
FLAG_KNOT_T_LOCK_L
Lock knot’s tangent length.
FLAG_KNOT_T_KEEPVISUALANGLE
Keep visual angle between knot’s tangents.
ADD_KNOT_ADAPT_TANGENTS
Tangents of new knots are set in such a way that the resulting spline will match the curvature of the original spline.
- Return type
int
- Returns
Knot index.
-
SplineData.
GetKnots
(self)¶ Returns all knots.
-
SplineData.
SetKnot
(self, index, vPos, lFlagsSettings, bSelect=False, vTangentLeft=Vector(), vTangentRight=Vector(), interpol=CustomSplineKnotInterpolationBezier)¶ Sets knot properties.
- Parameters
index (int) – The knot index.
vPos (c4d.Vector) – Knot position.
lFlagsSettings (int) –
Contains knot flags:
FLAG_KNOT_T_BREAK
Break knot tangents.
FLAG_KNOT_LOCK_X
Lock knot’s X movement.
FLAG_KNOT_LOCK_Y
Lock knot’s Y movement.
FLAG_KNOT_T_LOCK_A
Lock knot’s tangent angle.
FLAG_KNOT_T_LOCK_L
Lock knot’s tangent length.
FLAG_KNOT_T_KEEPVISUALANGLE
Keep visual angle between knot’s tangents.
ADD_KNOT_ADAPT_TANGENTS
Tangents of new knots are set in such a way that the resulting spline will match the curvature of the original spline.
Note
Also contains the point index ID. The ID can be accessed using these functions:
def SplineKnotGetID(flags): return ((flags >> 16) & 0x0000ffff) def SplineKnotSetID(flags, flag_id): flags = (flags & 65535) | ((flag_id & 0x0000ffff) << 16)
Important
This means that the flags must only be accessed using ‘|=’ and ‘&=’ (a good advice for any set of flags, for maximum forward compatibility).
bSelect (bool) – Internal select state. Do not change this.
vTangentLeft (c4d.Vector) – The left tangent.
vTangentRight (c4d.Vector) – The right tangent.
interpol (int) –
Spline knot’s interpolation:
CustomSplineKnotInterpolationBezier
Bezier interpolation.
CustomSplineKnotInterpolationLinear
Linear interpolation.
CustomSplineKnotInterpolationCubic
Cubic interpolation.
- Raises
RangeError – If the knot index is out of range : 0<=index<
GetKnotCount()
.
-
SplineData.
GetPoint
(self, r)¶ Gets a point from its X coordinate.
- Parameters
r (float) – The x position
- Return type
- Returns
The position
-
SplineData.
GetSelectCount
(self)¶ Returns the count of knots which are selected.
- Return type
int
- Returns
The count
-
SplineData.
GetKnotCount
(self)¶ Gets the knot count.
- Return type
int
- Returns
Knot count.
-
SplineData.
GetRange
(self)¶ Gets the range of the spline.
def PrintRange(sd): sdrange = sd.GetRange() if not range: return print(sdrange["xmin"], sdrange["xmax"], sdrange["xstep"], sdrange["ymin"], sdrange["ymax"], sdrange["ystep"])
- Return type
Optional[Dict[xmin: float, xmax: float, xstep: float, ymin: float, ymax: float, ystep: float]]
- Returns
The range dictionary or None.
-
SplineData.
SortKnots
(self)¶ Sort the knots.
- Return type
int
- Returns
The new index of the active knot.
-
SplineData.
SetRange
(self, xmin, xmax, xsteps, ymin, ymax, ysteps)¶ Set the range of the spline.
- Parameters
xmin (float) – The X min range.
xmax (float) – The X max range.
xsteps (float) – The X steps.
ymin (float) – The Y min range.
ymax (float) – The Y max range.
ysteps (float) – The Y steps.
-
SplineData.
AdaptRange
(self, xmin, xmax, xsteps, ymin, ymax, ysteps)¶ Adapts the internal 0-1 range of the old spline GUI to the range set by xmin, xmax, ymin and ymax.
- Parameters
xmin (float) – The new X minimum.
xmax (float) – The new X maximum.
xsteps (float) – The new X step size.
ymin (float) – The new Y minimum.
ymax (float) – The new Y maximum.
ysteps (float) – The new Y step size.
-
SplineData.
CopyTo
(self, pDest)¶ Copies this spline data values into the destination spline data.
New in version R14.014.
- Parameters
pDest (c4d.SplineData) – The destination spline data.
- Return type
bool
- Returns
True if successful, otherwise False