message: fixed args/kwargs arguments to constitutive classes in the python interface to allow inheritance
diff: @@ -88,13 +88,15 @@ cdef class MaterialProperties:
  cdef class PlaneStressConstitutive(Constitutive):
  - def __cinit__(self, MaterialProperties props=None, **kwargs):
  + def __cinit__(self, *args, **kwargs):
  + cdef TACSMaterialProperties *props = NULL
  cdef TacsScalar t = 1.0
  cdef int tNum = -1
  cdef TacsScalar tlb = 0.0
  cdef TacsScalar tub = 10.0
  - if props is not None:
  + if len(args) >= 1:
  + props = (<MaterialProperties>args[0]).ptr
  if 't' in kwargs:
  t = kwargs['t']
  if 'tNum' in kwargs:
  @@ -104,7 +106,8 @@ cdef class PlaneStressConstitutive(Constitutive):
  if 'tub' in kwargs:
  tub = kwargs['tub']
  - self.cptr = new TACSPlaneStressConstitutive(props.ptr, t, tNum,
  + if props is not NULL:
  + self.cptr = new TACSPlaneStressConstitutive(props, t, tNum,
  tlb, tub)
  self.ptr = self.cptr
  self.ptr.incref()
  @@ -113,13 +116,15 @@ cdef class PlaneStressConstitutive(Constitutive):
  self.cptr = NULL
  cdef class SolidConstitutive(Constitutive):
  - def __cinit__(self, MaterialProperties props=None, **kwargs):
  + def __cinit__(self, *args, **kwargs):
  + cdef TACSMaterialProperties *props = NULL
  cdef TacsScalar t = 1.0
  cdef int tNum = -1
  cdef TacsScalar tlb = 0.0
  cdef TacsScalar tub = 10.0
  - if props is not None:
  + if len(args) >= 1:
  + props = (<MaterialProperties>args[0]).ptr
  if 't' in kwargs:
  t = kwargs['t']
  if 'tNum' in kwargs:
  @@ -129,7 +134,8 @@ cdef class SolidConstitutive(Constitutive):
  if 'tub' in kwargs:
  tub = kwargs['tub']
  - self.cptr = new TACSSolidConstitutive(props.ptr, t, tNum,
  + if props is not NULL:
  + self.cptr = new TACSSolidConstitutive(props, t, tNum,
  tlb, tub)
  self.ptr = self.cptr
  self.ptr.incref()
  