Пример #1
0
    def evaluatePoint(self,surf,u,v,uder=0,vder=0):
        """ Return point or 1st or 2nd parametric derivative 

        Input

        surf: integer
            0-based surface index

        u: double
            Parametric coordinate [0,1]

        v: double
            Parametric coordinate [0,1]

        uder: integer
            Order of the desired derivative in the u direction

        vder: integer
            Order of the desired derivative in the v direction

        Output

        return: double(3)
            x-y-z values of the point or derivative requested

        """

        ugroup = self.edge_group[abs(self.surf_edge[surf,0,0])-1]
        vgroup = self.edge_group[abs(self.surf_edge[surf,1,0])-1]
        ku = self.group_k[ugroup-1]
        kv = self.group_k[vgroup-1]   
        mu = self.group_m[ugroup-1]
        mv = self.group_m[vgroup-1]
        P = PUBSlib.evaluatepoint(surf+1,uder,vder,ku,kv,mu,mv,self.nvar,self.nD,self.nC,self.nsurf,self.nedge,self.ngroup,self.nvert,u,v,self.surf_vert,self.surf_edge,self.edge_group,self.group_d,self.surf_index_C,self.edge_index_C,self.knot_index,self.C)
        return P
Пример #2
0
    def evaluatePoint(self, surf, u, v, uder=0, vder=0):
        """ Return point or 1st or 2nd parametric derivative 

        Input

        surf: integer
            0-based surface index

        u: double
            Parametric coordinate [0,1]

        v: double
            Parametric coordinate [0,1]

        uder: integer
            Order of the desired derivative in the u direction

        vder: integer
            Order of the desired derivative in the v direction

        Output

        return: double(3)
            x-y-z values of the point or derivative requested

        """

        ugroup = self.edge_group[abs(self.surf_edge[surf, 0, 0]) - 1]
        vgroup = self.edge_group[abs(self.surf_edge[surf, 1, 0]) - 1]
        ku = self.group_k[ugroup - 1]
        kv = self.group_k[vgroup - 1]
        mu = self.group_m[ugroup - 1]
        mv = self.group_m[vgroup - 1]
        P = PUBSlib.evaluatepoint(
            surf + 1, uder, vder, ku, kv, mu, mv, self.nvar, self.nD, self.nC,
            self.nsurf, self.nedge, self.ngroup, self.nvert, u, v,
            self.surf_vert, self.surf_edge, self.edge_group, self.group_d,
            self.surf_index_C, self.edge_index_C, self.knot_index, self.C)
        return P