But that also brings me back to the initial scripts.

u=om.MScriptUtil()
u.createFromInt(0)#correct usage?
v=om.MScriptUtil()
v.createFromInt(0)#correct usage?
compItr.getIndex(u.asIntPtr(),v.asIntPtr())
om.MScriptUtil.getInt(u.asIntPtr())

OK so if I use createFromInt and just feed it an arbitrary value to
allocate the space, is that correct? what do I have to consider when
doing that? if the number may have a value like 20 instead of 2, do I
need to do createFromInt(100) or something to give it adequate space?

Brandon L. Harris






On May 13, 1:36 pm, Brandon Harris <[email protected]> wrote:
> OK so when I do this
>
> u=om.MScriptUtil()
> u.createFromInt(0)
>
> the u.asInt is equal to 0.
>
> so when I do that I need to do
>
> u.createFromInt(Value That Will Be Used)
>
> On May 13, 1:28 pm, Adam Mechtley <[email protected]> wrote:
>
>
>
> > Basically:
>
> > Imagined through the lens of a language like C++, Python always passes
> > simple types (integer, decimal, etc.) by value—you are passing actual
> > numeric data. Some places in the API, however, require that simple types be
> > passed by reference (that is, passing an address to some numeric data rather
> > than passing the numeric data itself). In such cases, there is no automatic
> > way for the SWIG layer to translate a simple type into a *reference* to a
> > simple type. An MScriptUtil object is thus basically a way of wrapping a
> > simple numeric value (like an integer or decimal) in a complex object so it
> > can be passed by reference.
>
> > In your example, u is an object containing a simple integer value (0 or 20
> > or whatever you give it when you construct it). The sole function of u is
> > thus to pass its contents by reference (u.asIntPtr()) or to obtain the value
> > when something else has changed it (u.asInt()).
>
> > On Thu, May 13, 2010 at 1:11 PM, Brandon Harris <[email protected]>wrote:
>
> > > OK, I believe that by changing some of this I have actually crippled
> > > some functionality. So is there more information on exactly what
> > > u=om.MScriptUtil()
> > > u.createFromInt(0)
> > > actually does and if I use 20 instead of 0 what happens?
> > > Forgive my ignorance. Just an odd class that I'm not sure on what it's
> > > doing so not 100% on how I'm to use it properly
>
> > > On May 11, 12:20 pm, Brandon Harris <[email protected]> wrote:
> > > > Alright. That did seem to be the issue. big thanks for the help!
>
> > > > Brandon L. Harris
>
> > > > On May 11, 10:21 am, Paul Molodowitch <[email protected]> wrote:
>
> > > > > Yup... the only thing I would add is that you need to allocate space
> > > for
> > > > > whatever you're going to be storing - the default constructor 
> > > > > allocates
> > > NO
> > > > > space (not even enough for a single int).
>
> > > > > The easiest way to allocate space here would be to use the
> > > createFromInt
> > > > > method:
>
> > > > > u=om.MScriptUtil()
> > > > > u.createFromInt(0) # Can be any value, just want to make sure space is
> > > > > allocated
>
> > > > > You can use the createFromInt / createFromDouble methods to allocate
> > > enough
> > > > > space for up to 4 values; if you need more, I suggest using the
> > > > > (undocumented) createFromList method.
>
> > > > > I love MScriptUtil - it lives at the lovely intersection of confusing
> > > > > implementation, poor documentation, and high expectation of crashes
> > > when
> > > > > used incorrectly...
>
> > > > > - Paul
>
> > > > > On Tue, May 11, 2010 at 12:37 AM, Viktoras <[email protected]>
> > > wrote:
> > > > > > On 2010.05.11 06:48, Brandon Harris wrote:
>
> > > > > >>         u = openMaya.MScriptUtil().asIntPtr()
> > > > > >>         v = openMaya.MScriptUtil().asIntPtr()
> > > > > >>         compItr.getIndex(u,v)
> > > > > >>         compList.append([(pathName + ".cv[%s][%s]")%
>
> > > (openMaya.MScriptUtil().getInt(u),openMaya.MScriptUtil().getInt(v))])
>
> > > > > > this was never intended to be a correct usage of MScriptUtil, you
> > > should
> > > > > > not save instances of "asPtr" return values.
> > > > > > instead, you save instance of MScriptUtil, e.g.
>
> > > > > > u=om.MScriptUtil()
>
> > > > > > then pass asPtr value to functions
>
> > > > > > compItr.getIndex(u.asIntPtr(),v.asIntPtr())
>
> > > > > > then retreive the value with
>
> > > > > > om.MScriptUtil.getInt(u.asIntPtr())
>
> > > > > > --
> > > > > > Viktoras
> > > > > >www.neglostyti.com
>
> > > > > > --
> > > > > >http://groups.google.com/group/python_inside_maya
>
> > > > > --http://groups.google.com/group/python_inside_maya
>
> > > > --http://groups.google.com/group/python_inside_maya
>
> > > --
> > >http://groups.google.com/group/python_inside_maya
>
> > --http://groups.google.com/group/python_inside_maya
>
> --http://groups.google.com/group/python_inside_maya

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to