4 * License : The MIT License
5 * Copyright(c) 2010 MikuToga Partners
10 import jp.sourceforge.mikutoga.parser.ParseStage;
11 import jp.sourceforge.mikutoga.pmd.parser.PmdBasicHandler;
12 import jp.sourceforge.mikutoga.pmd.parser.PmdBoneHandler;
13 import jp.sourceforge.mikutoga.pmd.parser.PmdEngHandler;
14 import jp.sourceforge.mikutoga.pmd.parser.PmdJointHandler;
15 import jp.sourceforge.mikutoga.pmd.parser.PmdMaterialHandler;
16 import jp.sourceforge.mikutoga.pmd.parser.PmdMorphHandler;
17 import jp.sourceforge.mikutoga.pmd.parser.PmdRigidHandler;
18 import jp.sourceforge.mikutoga.pmd.parser.PmdShapeHandler;
19 import jp.sourceforge.mikutoga.pmd.parser.PmdToonHandler;
24 * 必要に応じて要所でデバッガのブレークポイントを設定しておくと便利。
26 public class DummyHandler
27 implements PmdBasicHandler,
37 public DummyHandler(){
43 public void pmdParseStart(){
44 System.out.println("PMD parse start");
49 public void pmdParseEnd(boolean hasMoreData){
50 System.out.println("PMD parse end");
52 System.out.println("thre is unknown data below");
58 public void loopStart(ParseStage stage, int loops){
59 System.out.println("===== Loop start ===== * " + loops);
64 public void loopNext(ParseStage stage){
69 public void loopEnd(ParseStage stage){
70 System.out.println("===== Loop end =====");
75 public void pmdHeaderInfo(byte[] header){
76 System.out.println("header length=" + header.length);
81 public void pmdModelInfo(String modelName, String description){
82 System.out.println("modelName=" + modelName);
83 System.out.println("comment=" + description);
88 public void pmdVertexPosition(float xPos, float yPos, float zPos){
89 // System.out.println("x,y,z = " + xPos + "," + yPos + "," + zPos);
94 public void pmdVertexNormal(float xVec, float yVec, float zVec){
95 // System.out.println("x,y,z = " + xVec + "," + yVec + "," + zVec);
99 public void pmdVertexUV(float uVal, float vVal){
104 public void pmdVertexWeight(int boneId_1, int boneId_2,
106 // System.out.println("x,y,z = "
107 // + boneId_1 + "," + boneId_2 + "," + weightForB1);
112 public void pmdVertexEdge(boolean hideEdge){
113 // System.out.println("x,y,z = " + hideEdge);
118 public void pmdSurfaceTriangle(int vertexId_1,
121 // System.out.println("v1,v2,v3 = "
122 // + vertexId_1 + "," + vertexId_2 + "," + vertexId_3);
126 public void pmdMaterialDiffuse(float red, float green, float blue,
128 // System.out.println("diffuse rgba="
129 // + red + "," + green + "," + blue + "," + alpha);
134 public void pmdMaterialSpecular(float red, float green, float blue,
136 // System.out.println("specular rgbs="
137 // + red + "," + green + "," + blue + "," + shininess);
142 public void pmdMaterialAmbient(float red, float green, float blue){
143 // System.out.println("ambient rgb=" + red + "," + green + "," + blue);
148 public void pmdMaterialShading(int toon_idx,
149 String textureFile, String sphereFile){
150 // System.out.println("toon idx=" + toon_idx);
151 // System.out.println("texfile=" + textureFile);
152 // System.out.println("spherefile=" + sphereFile);
157 public void pmdMaterialInfo(boolean hasEdge, int surfaceNum){
158 // System.out.println("surfaces=" + surfaceNum);
163 public void pmdBoneInfo(String boneName, byte boneKind){
164 // System.out.println("bonename = " + boneName);
165 // System.out.println("kind = " + boneKind);
170 public void pmdBoneLink(int parentId, int tailId, int ikId){
171 // System.out.println("parent = " + parentId);
172 // System.out.println("tail = " + tailId);
173 // System.out.println("ik = " + ikId);
178 public void pmdBonePosition(float xPos, float yPos, float zPos){
179 // System.out.println("x="+xPos+" y="+yPos+" z="+zPos);
184 public void pmdIKInfo(int boneId, int targetId,
185 int depth, float weight ){
190 public void pmdIKChainInfo(int childId){
191 // System.out.println("chained bone = " + childId);
196 public void pmdMorphInfo(String morphName, byte morphType){
197 // System.out.println("morph name = " + morphName);
202 public void pmdMorphVertexInfo(int vertexId,
203 float xPos, float yPos, float zPos){
204 // System.out.println("id="+vertexId+",x="+xPos+",y="+yPos+",z="+zPos);
209 public void pmdMorphOrderInfo(int morphId){
210 // System.out.println("morph idx = " + morphId);
215 public void pmdBoneGroupInfo(String groupName){
216 // System.out.println("group name = " + groupName);
221 public void pmdGroupedBoneInfo(int boneId, int groupId){
222 // System.out.println("bone index="
223 // + boneId + " groupIndex=" + groupId);
228 public void pmdEngEnabled(boolean hasEnglishInfo){
233 public void pmdEngModelInfo(String modelName, String description){
238 public void pmdEngBoneInfo(String boneName){
239 // System.out.println("bone eng name = " + boneName);
244 public void pmdEngMorphInfo(String morphName){
245 // System.out.println("morph eng name = " + morphName);
250 public void pmdEngBoneGroupInfo(String groupName){
251 // System.out.println("group eng name = " + groupName);
256 public void pmdToonFileInfo(String toonName){
257 // System.out.println("toon file name = " + toonName);
262 public void pmdRigidName(String rigidName){
263 // System.out.println("rigid name = " + rigidName);
268 public void pmdRigidInfo(int rigidGroupId, int linkedBoneId){
269 // System.out.println("rigid group = "
270 // + rigidGroupId + ",linked Bone =" + linkedBoneId);
275 public void pmdRigidShape(byte shapeType,
276 float width, float height, float depth){
277 // System.out.println("type="+shapeType);
278 // System.out.println("w="+width);
279 // System.out.println("h="+height);
280 // System.out.println("d="+depth);
285 public void pmdRigidPosition(float posX, float posY, float posZ){
286 // System.out.println("x="+posX);
287 // System.out.println("y="+posY);
288 // System.out.println("z="+posZ);
293 public void pmdRigidRotation(float rotX, float rotY, float rotZ){
294 // System.out.println("x="+rotX);
295 // System.out.println("y="+rotY);
296 // System.out.println("z="+rotZ);
301 public void pmdRigidPhysics(float mass,
302 float fadePos, float fadeRot,
303 float restitution, float friction ){
304 // System.out.println("mass="+mass);
305 // System.out.println("fadePos="+fadePos);
306 // System.out.println("fadeRot="+fadeRot);
307 // System.out.println("recoil="+restitution);
308 // System.out.println("friction="+friction);
313 public void pmdRigidBehavior(byte behaveType, short collisionMap){
314 // System.out.println("type="+behaveType);
315 // System.out.println("map="+collisionMap);
320 public void pmdJointName(String jointName){
321 // System.out.println("joint name = " + jointName);
326 public void pmdJointLink(int rigidId_A, int rigidId_B){
327 // System.out.println("rigid1 = " + rigidId_A+",rigidB = " + rigidId_B);
332 public void pmdJointPosition(float posX, float posY, float posZ){
333 // System.out.println("posX = " + posX);
334 // System.out.println("posY = " + posY);
335 // System.out.println("posZ = " + posZ);
340 public void pmdJointRotation(float rotX, float rotY, float rotZ){
341 // System.out.println("rotX = " + rotX);
342 // System.out.println("rotY = " + rotY);
343 // System.out.println("rotZ = " + rotZ);
348 public void pmdPositionLimit(float posX_lim1, float posX_lim2,
349 float posY_lim1, float posY_lim2,
350 float posZ_lim1, float posZ_lim2 ){
351 // System.out.println("limX = " + posX_lim1+"-"+posX_lim2);
352 // System.out.println("limY = " + posY_lim1+"-"+posY_lim2);
353 // System.out.println("limZ = " + posZ_lim1+"-"+posZ_lim2);
358 public void pmdRotationLimit(float rotX_lim1, float rotX_lim2,
359 float rotY_lim1, float rotY_lim2,
360 float rotZ_lim1, float rotZ_lim2 ){
361 // System.out.println("limX = " + rotX_lim1+"-"+rotX_lim2);
362 // System.out.println("limY = " + rotY_lim1+"-"+rotY_lim2);
363 // System.out.println("limZ = " + rotZ_lim1+"-"+rotZ_lim2);
368 public void pmdElasticPosition(float elasticPosX,
371 // System.out.println("posX="+elasticPosX);
372 // System.out.println("posY="+elasticPosY);
373 // System.out.println("posZ="+elasticPosZ);
378 public void pmdElasticRotation(float elasticRotX,
381 // System.out.println("posX="+elasticRotX);
382 // System.out.println("posY="+elasticRotY);
383 // System.out.println("posZ="+elasticRotZ);