Wow Ryan, I'm very happy for your response. That explains a lot of problems I was having until now ... hehehe ...
But I do not know why the value it returns is 'None' ... Any Idea? And if not abuse, I wonder if the MScriptUtil have any problem in creating MFloatArray... Because I read something that it is a little trick.. Many Thanks man! 2010/7/6 ryant <[email protected]> > import maya.OpenMaya as om > > light = om.MFnVolumeLight() > light.create() > light.setLightShape(3) > myRamp = om.MRampAttribute(light.penumbraRamp()) > myRamp.getNumEntries() > > > #Def to get some values from MScriptUtil > def getFltPtrs(): > f1_ptr = 0.5 > > f2_util = om.MScriptUtil() > f2_util.createFromDouble(0.5) > f2_ptr = f2_util.asFloatPtr() > return [(f1_ptr),(f2_ptr)] > > fPtrs = getFltPtrs() > myRamp.getValueAtPosition(fPtrs[0], fPtrs[1]) > > The reason is the first value is just a float not a reference. You can > tell that the value is not a reference in the documentation because it > has no & character next to it. As you can see from the Maya API docs > below: > > void MRampAttribute::getValueAtPosition (float position, > float & value, > MStatus * ReturnStatus = NULL, > MDGContext & context = MDGContext::fsNormal > ) > > Hope that helps, > Ryan > www.rtrowbridge.com/blog > Character TD > Naughtydog > > On Jul 6, 12:42 am, Rosenio <[email protected]> wrote: > > Now I've used the MScriptUtil functions but return the same problem... > > (I change the op to om)[:D] > > > > import maya.OpenMaya as om > > > > ligth = om.MFnVolumeLight() > > ligth.create() > > ligth.setLightShape(3) > > myRamp = om.MRampAttribute(ligth.penumbraRamp()) > > myRamp.getNumEntries() #It works fine > > > > #Def to get some values from MScriptUtil > > def getFltPtrs(): > > f1_util = om.MScriptUtil() > > f1_util.createFromDouble(0.5) > > f1_ptr = f1_util.asFloatPtr() > > > > f2_util = om.MScriptUtil() > > f2_util.createFromDouble(0.5) > > f2_ptr = f2_util.asFloatPtr() > > return [(f1_ptr),(f2_ptr)] > > > > fPtrs = getFltPtrs() > > > > myRamp.getValueAtPosition(fPtrs[0], fPtrs[1]) #Doesn't work > > # Error: TypeError: in method 'MRampAttribute_getValueAtPosition', > > argument 2 of type 'float' # > > > > Enyone of you guys now whats hapening? > > I wonder if someone can help me... > > -- > http://groups.google.com/group/python_inside_maya > -- http://groups.google.com/group/python_inside_maya
