<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www9.atwiki.jp/hajimen/">
    <title>hajimen @ ウィキ</title>
    <link>http://www9.atwiki.jp/hajimen/</link>
    <description>hajimen @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-02-09T12:49:13+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/130.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/123.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/129.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/128.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/127.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/126.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/18.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/125.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/2.html" />
                <rdf:li rdf:resource="http://www9.atwiki.jp/hajimen/pages/124.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/130.html">
    <title>get mDagPath from Name</title>
    <link>http://www9.atwiki.jp/hajimen/pages/130.html</link>
    <description>
      #highlight(python){{
def mDagPathFromName(name):
	selList = OpenMaya.MSelectionList()
	selList.add(name)
	mDagPath = OpenMaya.MDagPath()
	selList.getDagPath(0, mDagPath)
	return mDagPath

}}    </description>
    <dc:date>2011-02-09T12:49:13+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/123.html">
    <title>Maya Python逆引き</title>
    <link>http://www9.atwiki.jp/hajimen/pages/123.html</link>
    <description>
      -[[get mDagPath from Name]]
-[[get screen position]]
-[[get openGL screen size]]
-[[define new function on time]]
-[[Select All Objects in the camera view]]    </description>
    <dc:date>2011-02-09T12:48:58+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/129.html">
    <title>get screen position</title>
    <link>http://www9.atwiki.jp/hajimen/pages/129.html</link>
    <description>
      Use M3dView.

#highlight(python){{
def screenPositionAPI(panel, pos):
	mp = OpenMaya.MPoint(pos[0], pos[1], pos[2])
	m3v = OpenMayaUI.M3dView.active3dView()
	OpenMayaUI.M3dView.getM3dViewFromModelPanel(panel, m3v)
	
	xp = OpenMaya.MScriptUtil().asShortPtr()
	yp = OpenMaya.MScriptUtil().asShortPtr()
	ret = m3v.worldToView(mp, xp, yp)
	x = OpenMaya.MScriptUtil().getShort(xp)
	y = OpenMaya.MScriptUtil().getShort(yp)
	
	xPtr = OpenMaya.MScriptUtil().asUintPtr()
	yPtr = OpenMaya.MScriptUtil().asUintPtr()
	widthPtr = OpenMaya.MScriptUtil().asUintPtr()
	heightPtr = OpenMaya.MScriptUtil().asUintPtr()
	m3v.viewport(xPtr, yPtr, widthPtr, heightPtr)
	viewWidth = OpenMaya.MScriptUtil().getUint( widthPtr )
	viewHeight = OpenMaya.MScriptUtil().getUint( heightPtr )
	
	return (float(x)/float(viewWidth), float(y)/float(viewHeight))
}}

Or calculate by yourself(using inverse Matrix)

#highlight(python){{
def screenPositionAPI2(cam, pos):
	mp = OpenMaya.MPoint(pos[0], pos[1], pos[2])
	camDagPath = mDagPathFromName(cam)
	mtx = camDagPath.inclusiveMatrixInverse()
	newPos = mp * mtx
	resX = - newPos.x / newPos.z  * cmds.camera(cam, q=True, fl=True)
	resY = - newPos.y / newPos.z  * cmds.camera(cam, q=True, fl=True)
	resX /=  cmds.camera(cam, q=True, hfa=True)/ 25.4
	resY /=  cmds.camera(cam, q=True, vfa=True)/ 25.4
	return (resX, resY)
}}

This one is better.

#highlight(python){{
import math
def screenPositionAPI3(cam, pos):
	mp = OpenMaya.MPoint(pos[0], pos[1], pos[2])
	camDagPath = mDagPathFromName(cam)
	mtx = camDagPath.inclusiveMatrixInverse()
	newPos = mp * mtx
	hfv = cmds.camera(cam, q=True, hfv=True)
	resX = ((newPos.x/(-newPos.z))/math.tan(math.radians(hfv/2)))/2.0;
	vfv = cmds.camera(cam, q=True, vfv=True)
	resY = ((newPos.y/(-newPos.z))/math.tan(math.radians(vfv/2)))/2.0;
	return (resX, resY)
}}    </description>
    <dc:date>2011-02-09T12:44:19+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/128.html">
    <title>get openGL screen size</title>
    <link>http://www9.atwiki.jp/hajimen/pages/128.html</link>
    <description>
      #highlight(python){{
def getScreenRes(panel):
	m3v = OpenMayaUI.M3dView.active3dView()
	OpenMayaUI.M3dView.getM3dViewFromModelPanel(panel, m3v)
	
	xPtr = OpenMaya.MScriptUtil().asUintPtr()
	yPtr = OpenMaya.MScriptUtil().asUintPtr()
	widthPtr = OpenMaya.MScriptUtil().asUintPtr()
	heightPtr = OpenMaya.MScriptUtil().asUintPtr()
	
	m3v.viewport(xPtr, yPtr, widthPtr, heightPtr)
	
	viewWidth = OpenMaya.MScriptUtil().getUint( widthPtr )
	viewHeight = OpenMaya.MScriptUtil().getUint( heightPtr )
	
	return (float(viewWidth), float(viewHeight))
}}    </description>
    <dc:date>2011-02-09T12:35:01+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/127.html">
    <title>define new function on time</title>
    <link>http://www9.atwiki.jp/hajimen/pages/127.html</link>
    <description>
      This example shows the way to define python function and use it from Maya Expression. Note it only works during Maya session.

#highlight(python){{

def timeChangeScript():
	print &quot;new Frame!&quot;


import __main__

__main__.hogehoge = timeChangedScript

cmd = &#039;python(&quot;hogehoge()&quot;);&#039;
cmds.expression(
	s=cmd,
	ae=1,
	uc=&#039;all&#039;,
	name=&#039;timeChangedScript&#039;,
)

}}    </description>
    <dc:date>2011-02-07T10:18:41+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/126.html">
    <title>Connect to Maya</title>
    <link>http://www9.atwiki.jp/hajimen/pages/126.html</link>
    <description>
      Use this lisp.
http://koichitamura.blogspot.com/2009/06/emacs-to-maya-for-python-scripts.html

You have to run below commands from Maya before use.
#highlight(c){{
commandPort -eo -n &quot;127.0.0.1:2222&quot;;// Only Vista &amp; Windows7
commandPort -eo -n &quot;:2222&quot;; }}
http://area.autodesk.com/forum/autodesk-maya/python/commandport-doesnt-work-in-vista-32    </description>
    <dc:date>2011-01-16T15:15:02+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/18.html">
    <title>Emacs逆引き</title>
    <link>http://www9.atwiki.jp/hajimen/pages/18.html</link>
    <description>
      -[[Pythonでtabをスペース4つ分の幅に]]
-[[キーバインド一覧]]
-[[EmacsでOSX用に文字コード、改行コードを変える]]
-[[spaceをTABに]]
-[[Connect to Maya]]    </description>
    <dc:date>2011-01-16T15:12:04+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/125.html">
    <title>Windows7</title>
    <link>http://www9.atwiki.jp/hajimen/pages/125.html</link>
    <description>
      インストール時やる事

ワコムのタブレットが異様にひっかかります。
http://d.hatena.ne.jp/takhino/20091103/1257226350
波紋のせいかと思ったら、「プレス アンド ホールド機能」が原因らしい。

新タスクバーにはbatは登録できません。
http://nonsubject.blogspot.com/2010/01/windows-7.html

なのでクイック起動を使います。
http://pasofaq.jp/windows/windows7/rc-quicklaunch.htm

SendToの場所も変更されました。
http://starfort.cocolog-nifty.com/voorlihter/2009/12/windows-7-send-.html    </description>
    <dc:date>2011-01-15T20:27:28+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/2.html">
    <title>メニュー</title>
    <link>http://www9.atwiki.jp/hajimen/pages/2.html</link>
    <description>
      **Menu
-[[トップページ]]
-[[Maya]]
-[[Maya MEL逆引き]]
-[[Maya Python逆引き]]
-[[Mayaman Air]]
-[[Python逆引き]]
-[[GAE/Django逆引き]]
-[[windows逆引き]]
-[[OSX逆引き]]
-[[linux逆引き]]
-[[Emacs逆引き]]
-[[MySQL逆引き]]
-[[djv逆引き]]
-[[Shake逆引き]]
-[[Windows7]]
//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2011-01-15T20:10:46+09:00</dc:date>
  </item>
    <item rdf:about="http://www9.atwiki.jp/hajimen/pages/124.html">
    <title>Select All Objects in the camera view</title>
    <link>http://www9.atwiki.jp/hajimen/pages/124.html</link>
    <description>
      #highlight(python){{

import maya.OpenMaya as OpenMaya
import maya.OpenMayaUI as OpenMayaUI

def selectAllVisibleObjectsFromScreen():
	activePane=OpenMayaUI.M3dView.active3dView()
	w=activePane.portWidth()
	h=activePane.portHeight()

	myX=OpenMaya.MScriptUtil()
	myX.createFromInt(0)
	myY=OpenMaya.MScriptUtil()
	myY.createFromInt(0)
	myEndX=OpenMaya.MScriptUtil()
	myEndX.createFromInt(w)
	myEndY=OpenMaya.MScriptUtil()
	myEndY.createFromInt(h)
	OpenMaya.MGlobal.selectFromScreen(
		myX.asShortPtr(),
		myY.asShortPtr(),
		myEndX.asShortPtr(),
		myEndY.asShortPtr(),
		OpenMaya.MGlobal.kReplaceList
	)

}}    </description>
    <dc:date>2011-01-15T08:36:06+09:00</dc:date>
  </item>
  </rdf:RDF>
