(self, bsp_curve)
Private method that deforms the control points of `bsp_curve` using the
        inherited method. All the changes are performed in place.

        :param Geom_Bspline_Curve bsp_curve: the curve to deform
Private method that deforms the control points of `bsp_curve` using the
        inherited method. All the changes are performed in place.
Private method that deforms the control points of bsp_curve using the inherited method . All the changes are performed in place .
def _deform_bspline_curve(self, bsp_curve):
        """
        Private method that deforms the control points of `bsp_curve` using the
        inherited method. All the changes are performed in place.

        :param Geom_Bspline_Curve bsp_curve: the curve to deform
        """
        if not isinstance(bsp_curve, Geom_BSplineCurve):
            raise TypeError("bsp_curve must be a Geom_BSplineCurve")

        # we first extract the poles of the curve poles number
        n_poles = bsp_curve.NbPoles()
        # array containing the poles coordinates
        poles_coordinates = np.zeros(shape=(n_poles, 3))

        # cycle over the poles to get their coordinates
        for pole_id in range(n_poles):
            # gp_Pnt corresponding to the pole
            pole = bsp_curve.Pole(pole_id + 1)
            poles_coordinates[pole_id, :] = self._pole_get_components(pole)

        # the new poles positions are computed through FFD
        new_pts = super().__call__(poles_coordinates)

        # the Bspline curve is now looped again to
        # set the poles positions  to new_points
        for pole_id in range(n_poles):
            new_pole = self._pole_set_components(new_pts[pole_id, :])
            bsp_curve.SetPole(pole_id + 1, new_pole)
def _deform_bspline_curve ( self , bsp_curve ) : if not isinstance ( bsp_curve , Geom_BSplineCurve ) : raise TypeError ( "bsp_curve must be a Geom_BSplineCurve" ) # we first extract the poles of the curve poles number n_poles = bsp_curve . NbPoles ( ) # array containing the poles coordinates poles_coordinates = np . zeros ( shape = ( n_poles , 3 ) ) # cycle over the poles to get their coordinates for pole_id in range ( n_poles ) : # gp_Pnt corresponding to the pole pole = bsp_curve . Pole ( pole_id + 1 ) poles_coordinates [ pole_id , : ] = self . _pole_get_components ( pole ) # the new poles positions are computed through FFD new_pts = super ( ) . __call__ ( poles_coordinates ) # the Bspline curve is now looped again to # set the poles positions  to new_points for pole_id in range ( n_poles ) : new_pole = self . _pole_set_components ( new_pts [ pole_id , : ] ) bsp_curve . SetPole ( pole_id + 1 , new_pole )