【mel】ea

proc changeOtherList(){
textScrollList -e -da
weightList;
textScrollList -e -da weightList;
textScrollList -e -da
weightList;
textScrollList -e -da weightList;
int
$index[]=`textScrollList -q -sii selectList`;
for ($obj in
$index){
textScrollList -e -sii $obj weightList;
}
}

proc changeOtherListB(){
textScrollList -e -da
selectList;
textScrollList -e -da selectList;
textScrollList -e -da
selectList;
textScrollList -e -da selectList;
int
$index[]=`textScrollList -q -sii weightList`;
for ($obj in
$index){
textScrollList -e -sii $obj selectList;
}
}

//4T5
proc float countNew(float $a,int $n)
{
//float
$a=0.2546523758;int $n=4;
float $N=pow(10,($n));
float
$b=$a%(1/$N)*$N;
float
$C;
if($b>0.5){
$C=ceil($a*$N)/$N;}
else{
$C=floor($a*$N)/$N;
}
return
$C;
}

//get rid of
proc getRidOf(){
string $vesLists[]=`textScrollList -q
-si selectList`;
string $skiLists[]=`textScrollList -q -si
weightList`;
int $numOfSel[]=`textScrollList -q -sii weightList`;
int
$gu=`intField -q -value gugezhi`;
string $buffer[];
string
$shapeList[]=`ls -o $vesLists[0] `;
string $skinCluster=
`findRelatedSkinCluster $shapeList[0]`;
for($h=0;$h<`size
$vesLists`;$h++){
int $numbers = `tokenize $skiLists[$h] "[ * ]"
$buffer`;
string $jointList[];string $jointLists;
float
$weightLists[];
int
$n=0;
//getlist
for($i=0;$i<$numbers;$i+=2){
$jointList[$n]=$buffer[$i];
$weightLists[$n]=$buffer[$i+1];
$n++;
}

//get min
if ($n>$gu){
float $b=2;
int
$index=0;
for($i=0;$i<$n;$i++){
float
$a=$weightLists[$i];
if($a<$b){
$b=$a;
$index=$i;
}else{
$b=$b;
$index=$index;
}
}
//get
rid of
$b=$b/($n-1);
for
($i=0;$i<$n;$i++){
$weightLists[$i]+=$b;
if($i==$index){
$weightLists[$i]=0;
}
skinPercent
-tv $jointList[$i] $weightLists[$i] $skinCluster $vesLists[$h];
setAttr
($jointList[$i]+".liw")
1;
if($weightLists[$i]>0){
$jointLists+=($jointList[$i]+" [
"+$weightLists[$i]+" ] ");
}
}
//update
list
textScrollList -e -rii $numOfSel[$h] weightList;
textScrollList
-e -ap $numOfSel[$h] $jointLists
weightList;
//condistion
textScrollList -e -sii $numOfSel[$h]
selectList;
textScrollList -e -sii $numOfSel[$h]
weightList;
}
if (($n-1)==$gu){
textScrollList -e -dii
$numOfSel[$h] selectList;
textScrollList -e -dii $numOfSel[$h]
weightList;
}
for ($obj in $jointList){
setAttr ($obj+".liw")
0;
}
clear $weightLists;
$jointLists="";
}
}

proc loadOtherList(int $catch){
textScrollList -e -ra
selectList;
textScrollList -e -ra weightList;
string $vList[]=`ls -fl
-sl`;
string $shapeList[]=`ls -o
-sl`;
if($vList[0]==$shapeList[0]){
int $nums[]=`polyEvaluate -v
$shapeList[0]`;
for
($i=0;$i<$nums[0];$i++){
$vList[$i]=$shapeList[0]+".vtx["+$i+"]";
}
}
string
$skinCluster= `findRelatedSkinCluster $shapeList[0]`;
string
$jointLists;
for($obj in $vList){
int $i=1;int
$numTokens;
textScrollList -e -ap $i $obj selectList;
string
$jointList[]=`skinPercent -ib 0.00000000000000001 -q -t $skinCluster
$obj`;
int $num=`size $jointList`;
float
$weight[];
for($h=0;$h<$num;$h++){
$weight[$h]=`skinPercent
-transform $jointList[$h] -query $skinCluster
$obj`;
if($catch==1){
int $jin=`intField -q -value
jinquezhi`;
$weight[$h]=countNew($weight[$h],$jin);
skinPercent
-tv $jointList[$h] $weight[$h] $skinCluster $obj;
setAttr
($jointList[$h]+".liw")
1;
}
if($weight[$h]>0){
$jointLists+=($jointList[$h]+" [
"+$weight[$h]+" ] ");
string $buffers[];
$numTokens = `tokenize
$jointLists "[" $buffers`;
}
}
for($obj in
$jointList){
setAttr ($obj+".liw") 0;
}
textScrollList -e -ap $i
$jointLists weightList;
int $gu=`intField -q -value gugezhi`;
if
($num>$gu){
textScrollList -e -sii $i selectList;
textScrollList
-e -sii $i weightList;
}
if
(!(($numTokens-1)>$gu)){
textScrollList -e -dii $i
selectList;
textScrollList -e -dii $i
weightList;
}
$i++;
$jointLists="";;
clear
$weight;
}
updateTip;
}

proc updateTip(){
int $numOfSel=`textScrollList -q -nsi
selectList`;
if($numOfSel){
text -e -l ($numOfSel+" selected!")
selTip;
}else{
text -e -l "" selTip;
}
}
proc
selectedOtherList(){
string $vesLists[]=`textScrollList -q -si
selectList`;
select $vesLists;
}

//weight list
proc SkinWrite()
{
string $tempFileName =`internalVar
-utd`+"tempSkin.skin";
$fileId=`fopen $tempFileName "w"`;
//fwrite
$fileId "SmoothSkinList";
string $selList[]=`ls -fl -sl`;
string
$shapeList[]=`ls -o -sl`;
int $nums[]=`polyEvaluate -v
$shapeList[0]`;
string $vList[];
for
($i=0;$i<$nums[0];$i++){
//$vList[$i]=$shapeList[0]+".vtx["+$i+"]";
$vList[$i]=".vtx["+$i+"]";
}
string
$skinCluster= `findRelatedSkinCluster $shapeList[0]`;
string
$jointLists;
for($obj in $vList){
float $weight[];
fprint $fileId
($obj+" ");
string $jointList[]=`skinPercent -ib 0.00000000000000001 -q -t
$skinCluster $obj`;
int $num=`size
$jointList`;
for($h=0;$h<$num;$h++){
$weight[$h]=`skinPercent
-transform $jointList[$h] -query $skinCluster $obj`;
fprint $fileId
($jointList[$h]+" "+$weight[$h]+" ");
}
fprint $fileId
"\n";
}
fclose $fileId;
print "ok";
}

proc
SkinActive()
{
string $tempFileName =`internalVar
-utd`+"tempSkin.skin";
string $selList[]=`ls -fl -sl`;
string
$shapeList[]=`ls -o -sl`;
string $skinCluster= `findRelatedSkinCluster
$shapeList[0]`;
$fileId=`fopen $tempFileName "r"`;
string $nextLine =
`fgetline $fileId`;
while ( size( $nextLine) > 0 ) {
string
$buffer[];
//print $nextLine;
int $num=`tokenize $nextLine
$buffer`;
string $vertex=$shapeList[0]+$buffer[0];
string
$com;
for($i=1;$i<$num;$i+=2){
$com+="-tv "+$buffer[$i]+"
"+$buffer[$i+1]+" ";
}
int $call=`eval ("skinPercent
"+$com+$skinCluster+" "+$vertex)`;
//print ("skinPercent
"+$com+$skinCluster+" "+$vertex);
$com="";
$nextLine = `fgetline
$fileId`;
}
fclose $fileId;
}

//UI
proc
skinTestWin(){
if(`window -ex skinTestWin`)deleteUI skinTestWin;
window
-t "skinTest" -s 1 -tlb 1 -ret skinTestWin;
string
$form=`formLayout`;
string $selectList=`textScrollList -ams 1

-sc "changeOtherList"
-dcc "selectedOtherList" selectList`;

string $weightList=`textScrollList -ams 1
-sc "changeOtherListB"

-dcc "selectedOtherList"
weightList`;
string
$LayoutCollection1=`columnLayout `;
string $button0=`button -l "load" -w
95 -c "loadOtherList(0)"`;
string $button1=`button -l "clean" -w 95 -c
"loadOtherList(1)"`;
string $button2=`button -l "removeMin" -w 95 -c
"getRidOf;loadOtherList(1)"`;
string $button3=`button -l "select" -w 95
-c "selectedOtherList"`;
text -l "decimal";
string
$intField1=`intField -min 1 -max 3 -step 1 -value 2 jinquezhi`;
text -l
"influenced";
string $intField2=`intField -min 1 -max 5 -step 1 -value 2
gugezhi`;
string $button4=`button -l "record" -w 95 -c
"SkinWrite"`;
string $button5=`button -l "active" -w 95 -c
"SkinActive"`;

string $text=`text -label ""
selTip`;
setParent ..;
setParent ..;
formLayout -e
-af
$selectList"top" 5 -af $selectList"left" 0 -ap $selectList "right" 0 30 -af
$selectList"bottom" 5
-af $weightList "top" 5 -ap $weightList "left" 0 30
-ap weightList "right" 0 80 -af $weightList "bottom" 5
-af
$LayoutCollection1 "top" 5 -af $LayoutCollection1 "right" 2
$form;

window -e -wh 800 400 skinTestWin;
showWindow
skinTestWin;
}
skinTestWin;

时间: 2024-12-22 19:16:26

【mel】ea的相关文章

【mel】

string $sel[]=`ls -sl`; float $T[]=`xform -q -ws -t $sel[0]`; float $R[]=`xform -q -ws -ro $sel[0]`; if (`exists ($sel[0]+"_Con")`==0) { delete ($sel[0]+"_Con"); } if (`exists ($sel[0]+"_Con_grp")`==0) { delete ($sel[0]+"

【BZOJ】1015 星球大战

[解析]排序+并查集 [分析] 求联通块,每操作一次询问一次. 搜索? O(N^2),TLE. 并查集,根据上次的结果更新答案. 问题在于,这是分离的操作,而不是合并的,怎么办呢? 反过来不就是合并的了吗? 给每个点标号,表示它打击的先后次序,例如结点3是第2个打击的,level[3]=2. 对于所有未打击的点,标号为打击的个数nl+1. 然后对于每条边,它一定是在第edge[i].w=min(level[edge[i].u]],level[edge[i].v])次打击不存在的. 根据w值从大到

FreeBSD 5.0中强制访问控制机制的使用与源代码分析【转】

本文主要讲述FreeBSD 5.0操作系统中新增的重要安全机制,即强制访问控制机制(MAC)的使用与源代码分析,主要包括强制访问控制框架及多级安全(MLS)策略两部分内容.这一部分讲述要将MAC框架与MLS策略用起来,应该做的一些工作,以及如何有效使用它们的问题. ? 强制访问控制(英文缩写MAC)是实现操作系统安全的一个重要的方法,现在几乎所有的安全操作系统都采用强制访问控制作为其核心安全机制之一.强制访问控制是对操作系统的各种客体(如文件.socket.系统FIFO.SCD.IPC等)进行细

【综合】天梯算法

<!--版权声明!转载请说明出处谢谢:)--> <!--by Polo Shen: http://www.cnblogs.com/polossk/ –> 目标 今天听到有人说某学校的ACM队搞了一个Rating System,就是类似TopCoder和Codeforces的Rating一样,直观的积分更容易体现比赛的结果,以及大家的最近表现.而且据说他们把这个作为一个考核标准之一. 听上去好赞的样子! 可是我们学校木有啊!!! 紧接着我就想到了当时看<社交网络>时,扎克

【转载】汇编跳转指令集

1汇编指令:  JO.JNO.JB.JNB.JE.JNE.JBE.JA.JS.JNS.JP.JNP.JL      2名称或内存 功能  操作数  操作码 模数 寄存器1 寄存器2 位移量 立即数 符号 方向 芯片型号 16位  32位  3JO   溢出跳转         短        $70    无  无  无  无  10  无  无  8086  无  无  4JNO  不溢出跳转       短        $71    无  无  无  无  10  无  无  8086 

【转】看看什么叫51单片机最小系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路.下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐

论文阅读(Xiang Bai——【TIP2014】A Unified Framework for Multi-Oriented Text Detection and Recognition)

Xiang Bai--[TIP2014]A Unified Framework for Multi-Oriented Text Detection and Recognition 目录 作者和相关链接 方法概括 创新点和贡献 方法细节 实验结果 问题讨论 总结与收获点 参考文献 作者和相关链接 作者 论文下载 白翔主页, 刘文予 方法概括 方法简述 这篇文章是作者CVPR2012(参考文献1,专门做检测,可以看看我之前的这篇博客)的方法的扩展,本文做的是端到端的问题(检测+识别). 采用的框架是

GSM开发 手机发送短信控制LED,返回中文短信,C程序源代码【测试】

[谢绝转载!][谢绝转载!][谢绝转载!] [说明] 实物连接图如下: [短信控制] 发送短信到GSM模块,收到相应的指令对应板子上的灯亮灭. 然后模块会向手机发送一条中文短信 [源代码]目前仍然处于开发中..... /****************************** 工程名  :短信控制家电 1 先用USB转TTL模块测试模块好用,并修改波特率到9600(AT+IPR=9600)再用单片机调试 2 51单片机晶振 11.0592MHz,12M不可以用   3 如果模块无开机自启动电

【转载】关于技术美术的一些个人理解

[转载]关于技术美术的一些个人理解 原文地址http://www.cnblogs.com/sitt/archive/2011/07/21/1980263.html 2011.7.21,凌晨蛋疼,遂更新了一下 技术美术是什么以及需要什么: 以我的了解,游戏行业的技术美术(Technical Artist)应该源于影视动画里面的技术指导或者叫技术总监(Technical Director).此外还有R&D(research and development 研究与开发)这个往往和前面的技术美术或者技术