int main() { ModelerControl controls[NUMCONTROLS ]; controls[BASE_ROTATION] = ModelerControl("base rotation (theta)", -180.0, 180.0, 0.1, 0.0 ); controls[LOWER_TILT] = ModelerControl("lower arm tilt (phi)", 15.0, 95.0, 0.1, 55.0 ); controls[UPPER_TILT] = ModelerControl("upper arm tilt (psi)", 0.0, 135.0, 0.1, 30.0 ); controls[CLAW_ROTATION] = ModelerControl("claw rotation (cr)", -30.0, 180.0, 0.1, 0.0 ); controls[BASE_LENGTH] = ModelerControl("base height (h1)", 0.5, 10.0, 0.1, 0.8 ); controls[LOWER_LENGTH] = ModelerControl("lower arm length (h2)", 1, 10.0, 0.1, 3.0 ); controls[UPPER_LENGTH] = ModelerControl("upper arm length (h3)", 1, 10.0, 0.1, 2.5 ); controls[PARTICLE_COUNT] = ModelerControl("particle count (pc)", 0.0, 5.0, 0.1, 5.0 ); // You should create a ParticleSystem object ps here and then // call ModelerApplication::Instance()->SetParticleSystem(ps) // to hook it up to the animator interface. ModelerApplication::Instance()->Init(&createRobotArm, controls, NUMCONTROLS); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, // stepsize, defaultvalue) ModelerControl controls[NUMCONTROLS]; controls[LEVEL_OF_DETAIL] = ModelerControl("Level of Detail", 1, 6, 1, 6); controls[MOOD] = ModelerControl("Mood", 0, 3, 1, 0); controls[ANIMATE] = ModelerControl("Animate", 0, 1, 1, 0); controls[XPOS] = ModelerControl("X Position", -5, 5, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", 0, 5, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -5, 5, 0.1f, 0); controls[SPIDER_ROTATE_Z] = ModelerControl("Spider Rotate Z", -180, 180, 1, 0); controls[BODY_ROTATE_Z] = ModelerControl("Body Rotate Z", 30, -60, 1, 0); controls[LEFT_TOOTH_ROTATE_Y] = ModelerControl("Left Tooth Rotate Y", -60, -120, 1, -90); controls[RIGHT_TOOTH_ROTATE_Y] = ModelerControl("Right Tooth Rotate Y", -60, -120, 1, -90); controls[LEFT_ANTENNA_ROTATE_Y] = ModelerControl("Left Antenna Rotate Y", -60, -90, 1, -75); controls[LEFT_ANTENNA_ROTATE_X] = ModelerControl("Left Antenna Rotate X", -0, -60, 1, -30); controls[LEFT_ANTENNA_UPPER_ROTATE_Y] = ModelerControl("Left Antenna Upper Rotate Y", -0, -60, 1, -30); controls[LEFT_ANTENNA_UPPER_ROTATE_X] = ModelerControl("Left Antenna Upper Rotate X", 30, 60, 1, 45); controls[RIGHT_ANTENNA_ROTATE_Y] = ModelerControl("Right Antenna Rotate Y", -90, -120, 1, -105); controls[RIGHT_ANTENNA_ROTATE_X] = ModelerControl("Right Antenna Rotate X", -0, -60, 1, -30); controls[RIGHT_ANTENNA_UPPER_ROTATE_Y] = ModelerControl("Right Antenna Upper Rotate Y", 0, 60, 1, 30); controls[RIGHT_ANTENNA_UPPER_ROTATE_X] = ModelerControl("Right Antenna Upper Rotate X", 30, 60, 1, 45); controls[LEFT_LEG_1_1_ROTATE_Y] = ModelerControl("Left Leg 1 First Part Rotate Y", -30, -90, 1, -60); controls[LEFT_LEG_1_1_ROTATE_X] = ModelerControl("Left Leg 1 First Part Rotate X", -0, -60, 1, -30); controls[LEFT_LEG_1_2_ROTATE_Y] = ModelerControl("Left Leg 1 Second Part Rotate Y", -10, -70, 1, -40); controls[LEFT_LEG_1_2_ROTATE_X] = ModelerControl("Left Leg 1 Second Part Rotate X", 20, 80, 1, 50); controls[LEFT_LEG_1_3_ROTATE_Y] = ModelerControl("Left Leg 1 Third Part Rotate Y", 10, -50, 1, -20); controls[LEFT_LEG_1_3_ROTATE_X] = ModelerControl("Left Leg 1 Third Part Rotate X", -10, 50, 1, 20); controls[LEFT_LEG_2_1_ROTATE_Y] = ModelerControl("Left Leg 2 First Part Rotate Y", -0, -60, 1, -30); controls[LEFT_LEG_2_1_ROTATE_X] = ModelerControl("Left Leg 2 First Part Rotate X", 5, -55, 1, -25); controls[LEFT_LEG_2_2_ROTATE_Y] = ModelerControl("Left Leg 2 Second Part Rotate Y", -0, -60, 1, -30); controls[LEFT_LEG_2_2_ROTATE_X] = ModelerControl("Left Leg 2 Second Part Rotate X", 10, 70, 1, 40); controls[LEFT_LEG_2_3_ROTATE_Y] = ModelerControl("Left Leg 2 Third Part Rotate Y", 10, -50, 1, -20); controls[LEFT_LEG_2_3_ROTATE_X] = ModelerControl("Left Leg 2 Third Part Rotate X", 0, 60, 1, 30); controls[LEFT_LEG_3_1_ROTATE_Y] = ModelerControl("Left Leg 3 First Part Rotate Y", -10, 50, 1, 20); controls[LEFT_LEG_3_1_ROTATE_X] = ModelerControl("Left Leg 3 First Part Rotate X", 0, -60, 1, -30); controls[LEFT_LEG_3_2_ROTATE_Y] = ModelerControl("Left Leg 3 Second Part Rotate Y", -10, 50, 1, 20); controls[LEFT_LEG_3_2_ROTATE_X] = ModelerControl("Left Leg 3 Second Part Rotate X", 20, 80, 1, 50); controls[LEFT_LEG_3_3_ROTATE_Y] = ModelerControl("Left Leg 3 Third Part Rotate Y", -10, 50, 1, 20); controls[LEFT_LEG_3_3_ROTATE_X] = ModelerControl("Left Leg 3 Third Part Rotate X", 10, 70, 1, 40); controls[LEFT_LEG_4_1_ROTATE_Y] = ModelerControl("Left Leg 4 First Part Rotate Y", 30, 90, 1, 60); controls[LEFT_LEG_4_1_ROTATE_X] = ModelerControl("Left Leg 4 First Part Rotate X", 10, -50, 1, -20); controls[LEFT_LEG_4_2_ROTATE_Y] = ModelerControl("Left Leg 4 Second Part Rotate Y", -10, 50, 1, 20); controls[LEFT_LEG_4_2_ROTATE_X] = ModelerControl("Left Leg 4 Second Part Rotate X", 10, 70, 1, 40); controls[LEFT_LEG_4_3_ROTATE_Y] = ModelerControl("Left Leg 4 Third Part Rotate Y", -10, 50, 1, 20); controls[LEFT_LEG_4_3_ROTATE_X] = ModelerControl("Left Leg 4 Third Part Rotate X", -10, 50, 1, 20); controls[RIGHT_LEG_1_1_ROTATE_Y] = ModelerControl("Right Leg 1 First Part Rotate Y", -90, -150, 1, -120); controls[RIGHT_LEG_1_1_ROTATE_X] = ModelerControl("Right Leg 1 First Part Rotate X", 0, -60, 1, -30); controls[RIGHT_LEG_1_2_ROTATE_Y] = ModelerControl("Right Leg 1 Second Part Rotate Y", 10, 70, 1, 40); controls[RIGHT_LEG_1_2_ROTATE_X] = ModelerControl("Right Leg 1 Second Part Rotate X", 20, 80, 1, 50); controls[RIGHT_LEG_1_3_ROTATE_Y] = ModelerControl("Right Leg 1 Third Part Rotate Y", -10, 50, 1, 20); controls[RIGHT_LEG_1_3_ROTATE_X] = ModelerControl("Right Leg 1 Third Part Rotate X", -10, 50, 1, 20); controls[RIGHT_LEG_2_1_ROTATE_Y] = ModelerControl("Right Leg 2 First Part Rotate Y", -120, -180, 1, -150); controls[RIGHT_LEG_2_1_ROTATE_X] = ModelerControl("Right Leg 2 First Part Rotate X", 5, -55, 1, -25); controls[RIGHT_LEG_2_2_ROTATE_Y] = ModelerControl("Right Leg 2 Second Part Rotate Y", 0, 60, 1, 30); controls[RIGHT_LEG_2_2_ROTATE_X] = ModelerControl("Right Leg 2 Second Part Rotate X", 10, 70, 1, 40); controls[RIGHT_LEG_2_3_ROTATE_Y] = ModelerControl("Right Leg 2 Third Part Rotate Y", -10, 50, 1, 20); controls[RIGHT_LEG_2_3_ROTATE_X] = ModelerControl("Right Leg 2 Third Part Rotate X", 0, 60, 1, 30); controls[RIGHT_LEG_3_1_ROTATE_Y] = ModelerControl("Right Leg 3 First Part Rotate Y", 130, 190, 1, 160); controls[RIGHT_LEG_3_1_ROTATE_X] = ModelerControl("Right Leg 3 First Part Rotate X", 0, -60, 1, -30); controls[RIGHT_LEG_3_2_ROTATE_Y] = ModelerControl("Right Leg 3 Second Part Rotate Y", 10, -50, 1, -20); controls[RIGHT_LEG_3_2_ROTATE_X] = ModelerControl("Right Leg 3 Second Part Rotate X", 20, 80, 1, 50); controls[RIGHT_LEG_3_3_ROTATE_Y] = ModelerControl("Right Leg 3 Third Part Rotate Y", 10, -50, 1, -20); controls[RIGHT_LEG_3_3_ROTATE_X] = ModelerControl("Right Leg 3 Third Part Rotate X", 10, 70, 1, 40); controls[RIGHT_LEG_4_1_ROTATE_Y] = ModelerControl("Right Leg 4 First Part Rotate Y", 90, 150, 1, 120); controls[RIGHT_LEG_4_1_ROTATE_X] = ModelerControl("Right Leg 4 First Part Rotate X", 10, -50, 1, -20); controls[RIGHT_LEG_4_2_ROTATE_Y] = ModelerControl("Right Leg 4 Second Part Rotate Y", 10, -50, 1, -20); controls[RIGHT_LEG_4_2_ROTATE_X] = ModelerControl("Right Leg 4 Second Part Rotate X", 10, 70, 1, 40); controls[RIGHT_LEG_4_3_ROTATE_Y] = ModelerControl("Right Leg 4 Third Part Rotate Y", 10, -50, 1, -20); controls[RIGHT_LEG_4_3_ROTATE_X] = ModelerControl("Right Leg 4 Third Part Rotate X", -10, 50, 1, 20); controls[SPINNERET_ROTATE_Y] = ModelerControl("Spinneret Rotate Y", 75, 105, 1, 90); controls[SPINNERET_ROTATE_X] = ModelerControl("Spinneret Rotate Y", -15, 15, 1, 0); ModelerApplication::Instance()->Init(&createSampleModel, controls, NUMCONTROLS); return ModelerApplication::Instance()->Run(); }
int main() { ModelerControl controls[NUMCONTROLS ]; controls[BASE_ROTATION] = ModelerControl("base rotation (theta)", -180.0, 180.0, 0.1, 0.0 ); controls[LOWER_TILT] = ModelerControl("lower arm tilt (phi)", 15.0, 95.0, 0.1, 55.0 ); controls[UPPER_TILT] = ModelerControl("upper arm tilt (psi)", 0.0, 135.0, 0.1, 30.0 ); controls[CLAW_ROTATION] = ModelerControl("claw rotation (cr)", -30.0, 180.0, 0.1, 0.0 ); controls[BASE_LENGTH] = ModelerControl("base height (h1)", 0.5, 10.0, 0.1, 0.8 ); controls[LOWER_LENGTH] = ModelerControl("lower arm length (h2)", 1, 10.0, 0.1, 3.0 ); controls[UPPER_LENGTH] = ModelerControl("upper arm length (h3)", 1, 10.0, 0.1, 2.5); controls[PARTICLE_COUNT] = ModelerControl("particle count (pc)", 0.0, 5.0, 0.1, 5.0); controls[X_WIND] = ModelerControl("X_WIND", 0.0, 5.0, 0.1, 0.6); controls[Y_WIND] = ModelerControl("Y_WIND", 0.0, 5.0, 0.1, 0.0); controls[Z_WIND] = ModelerControl("Z_WIND", 0.0, 5.0, 0.1, 0.2); controls[WIND_MAGNITUDE] = ModelerControl("WIND_MAGNITUDE", 0.0, 10.0, 0.1, 2.0); controls[GRAVITY] = ModelerControl("GRAVITY", -10.0, 10.0, 1.0, 9.8); controls[XPOS] = ModelerControl("X Position", -5, 5, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", 0, 5, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -5, 5, 0.1f, 0); controls[XSCALE] = ModelerControl("X Scale", 0, 3, 0.1f, 1.0f); controls[YSCALE] = ModelerControl("Y Scale", 0, 3, 0.1f, 1.0f); controls[ZSCALE] = ModelerControl("Z Scale", 0, 3, 0.1f, 1.0f); controls[HEIGHT] = ModelerControl("Height", 1, 2.5, 0.1f, 1); controls[ROTATE] = ModelerControl("Rotate", -135, 135, 1, 0); controls[HEAD_SIZE] = ModelerControl("Head Size", 0.8, 2, 0.1f, 1); controls[HEAD_ROTATE] = ModelerControl("Head Rotate", -70, 70, 1, 0); controls[EAR_SIZE] = ModelerControl("Ear Size", 0, 2, 0.1f, 1); controls[UPPER_ARM_LENGTH] = ModelerControl("Upper Arm Length", 1, 5, 0.1f, 0.8); controls[LEFT_UPPER_ARM_ROTATE_X] = ModelerControl("Left Upper Arm Rotate X", 20, 120, 1.0f, 80); controls[LEFT_UPPER_ARM_ROTATE_Y] = ModelerControl("Left Upper Arm Rotate Y", -30, 90, 1.0f, 0); controls[RIGHT_UPPER_ARM_ROTATE_X] = ModelerControl("Right Upper Arm Rotate X", -90, 100, 1.0f, -40); controls[RIGHT_UPPER_ARM_ROTATE_Y] = ModelerControl("Right Upper Arm Rotate Y", -90, 30, 1.0f, 0); controls[LOWER_ARM_LENGTH] = ModelerControl("Lower Arm Length", 1, 5, 0.1f, 0.8); controls[LEFT_LOWER_ARM_ROTATE] = ModelerControl("Left Lower Arm Rotate", 20, 180, 1.0f, 80); controls[RIGHT_LOWER_ARM_ROTATE] = ModelerControl("Right Lower Arm Rotate", 20, 180, 1.0f, 180); controls[RIGHT_HAND_ANGLE] = ModelerControl("Right Hand Angle", 0, 70, 1, 0); controls[LEFT_HAND_ANGLE] = ModelerControl("Left Hand Angle", 0, 70, 1, 0); controls[LEG_LENGTH] = ModelerControl("Leg Length", 1, 5, 0.1f, 2); controls[LEFT_LEG_ROTATE_X] = ModelerControl("Left Leg Rotate X", 30, 150, 1.0f, 40); controls[LEFT_LEG_ROTATE_Y] = ModelerControl("Left Leg Rotate Y", -80, 90, 1.0f, 0); controls[RIGHT_LEG_ROTATE_X] = ModelerControl("Right Leg Rotate X", 30, 150, 1.0f, 140); controls[RIGHT_LEG_ROTATE_Y] = ModelerControl("Right Leg Rotate Y", -90, 80, 1.0f, 0); controls[TORUS_R] = ModelerControl("Torus R", 0, 10, 0.1f, 0.6); controls[TORUS_r] = ModelerControl("Torus r", 0, 10, 0.1f, 0.15); controls[FLOOR_SIZE] = ModelerControl("Floor Size", 0, 8, 0.1f, 5.0f); controls[FLOOR_DEPTH] = ModelerControl("Floor Depth", 0, 10, 1, 4); controls[DETAIL_LEVEL] = ModelerControl("Detail Level", 1, 5, 1, 3); // You should create a ParticleSystem object ps here and then // call ModelerApplication::Instance()->SetParticleSystem(ps) // to hook it up to the animator interface. ModelerApplication::Instance()->Init(&createRobotArm, controls, NUMCONTROLS); ParticleSystem *ps = new ParticleSystem(); ModelerApplication::Instance()->SetParticleSystem(ps); Force* g = new Gravity((float)VAL(GRAVITY)); //Force* g = new Gravity(9.8f); ps->addForce(g); Wind *wind = new Wind(); wind->setDirection(Vec3f((float)-VAL(X_WIND) - 5.0f, (float)VAL(Y_WIND) - 5.0f, (float)VAL(Y_WIND) - 5.0f)); //wind->setDirection(Vec3f(-0.4, 0, 0.2)); wind->setMagnitube((float)VAL(WIND_MAGNITUDE)); //wind->setMagnitube(6.0); ps->addForce(wind); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, // stepsize, defaultvalue) ModelerControl controls[NUMCONTROLS]; controls[XPOS] = ModelerControl("X Position", -5, 5, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", 0, 5, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -5, 5, 0.1f, 0); controls[SWORD_LENGTH] = ModelerControl("Sword Length", 0.0, 1.0, 0.1f, 1); controls[ROTATE] = ModelerControl("Rotate", -180, 180, 1, 0); controls[SLASH] = ModelerControl("Slash", 0, 90, 1, 45); controls[COSTUME] = ModelerControl("Costume", 1, 3, 1, 1); controls[SLASH_TYPE] = ModelerControl("Slash Type", 1, SLASH_TYPE_NUM-1, 1, 1); controls[NECK] = ModelerControl("Head direction", -180, 180, 1, 0); controls[PARTICLE_GROUND] = ModelerControl("Ground particle enable", 0, 1, 1, 0); controls[PARTICLE_PREPARE] = ModelerControl("Excalibur prepare enable", 0, 1, 1, 0); controls[PARTICLE_CAST] = ModelerControl("Excalibur enable", 0, 1, 1, 1); controls[PARTICLE_BURST] = ModelerControl("Burst particle enable", 0, 1, 1, 0); controls[PARTICLE_AIR] = ModelerControl("Invisible air enable", 0, 1, 1, 0); srand(time(0)); ModelerApplication::Instance()->Init(&createMyModel, controls, NUMCONTROLS); MyModel::InitializeParticleSystem(); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, // stepsize, defaultvalue) ModelerControl controls[NUMCONTROLS]; controls[LIGHT0_X] = ModelerControl("Light0 X", -5, 5, 0.1, -5.0f); controls[LIGHT0_Y] = ModelerControl("Light0 Y", -5, 5, 0.1, -2.0); controls[LIGHT0_Z] = ModelerControl("Light0 Z", -5, 5, 0.1, -4.0); controls[LIGHT0_R] = ModelerControl("Light0 R", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT0_G] = ModelerControl("Light0 G", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT0_B] = ModelerControl("Light0 B", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_X] = ModelerControl("Light1 X", -5.0f, 5.0f, 0.1f, 4.0f); controls[LIGHT1_Y] = ModelerControl("Light1 Y", -5.0f, 5.0f, 0.1f, 1.0f); controls[LIGHT1_Z] = ModelerControl("Light1 Z", -5.0f, 5.0f, 0.1f, 5.0f); controls[LIGHT1_R] = ModelerControl("Light1 R", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_G] = ModelerControl("Light1 G", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_B] = ModelerControl("Light1 B", 0.0f, 1.0f, 0.1f, 1.0f); controls[XPOS] = ModelerControl("X Position", -5, 5, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", 0, 5, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -5, 5, 0.1f, 0); controls[HEIGHT] = ModelerControl("Height", 1, 2.5, 0.1f, 1); controls[ROTATE] = ModelerControl("Rotate", -135, 135, 1, 0); controls[LSYS_SHOW] = ModelerControl("L-System Show", 0, 1, 1, 0); controls[LSYS_TYPE] = ModelerControl("L-System Type", 0, 1, 1, 0); controls[LSYS_DEPTH] = ModelerControl("L-System Depth", 1, 10, 1, 1); controls[LSYS_ANGLE] = ModelerControl("L-System Angle", 0, 90, 1, 45); controls[ANGLE_LIMIT] = ModelerControl("Angle Limit", 0, 1, 1, 0); controls[INVERSE_KINEMATICS] = ModelerControl("Inverse Kinematics?", 0, 1, 1, 0); controls[HEAD_CSTRN_X] = ModelerControl("Head Constraint X", -10, 10, 0.1, 0); controls[HEAD_CSTRN_Y] = ModelerControl("Head Constraint Y", -10, 10, 0.1, 0); controls[HEAD_CSTRN_Z] = ModelerControl("Head Constraint Z", -10, 10, 0.1, 0); controls[LHAND_CSTRN_X] = ModelerControl("Left Hand Constraint X", -10, 10, 0.1, 0); controls[LHAND_CSTRN_Y] = ModelerControl("Left Hand Constraint Y", -10, 10, 0.1, 0); controls[LHAND_CSTRN_Z] = ModelerControl("Left Hand Constraint Z", -10, 10, 0.1, 0); controls[RHAND_CSTRN_X] = ModelerControl("Right Hand Constraint X", -10, 10, 0.1, 0); controls[RHAND_CSTRN_Y] = ModelerControl("Right Hand Constraint Y", -10, 10, 0.1, 0); controls[RHAND_CSTRN_Z] = ModelerControl("Right Hand Constraint Z", -10, 10, 0.1, 0); controls[LFOOT_CSTRN_X] = ModelerControl("Left Foot Constraint X", -10, 10, 0.1, 0); controls[LFOOT_CSTRN_Y] = ModelerControl("Left Foot Constraint Y", -10, 10, 0.1, 0); controls[LFOOT_CSTRN_Z] = ModelerControl("Left Foot Constraint Z", -10, 10, 0.1, 0); controls[RFOOT_CSTRN_X] = ModelerControl("Right Foot Constraint X", -10, 10, 0.1, 0); controls[RFOOT_CSTRN_Y] = ModelerControl("Right Foot Constraint Y", -10, 10, 0.1, 0); controls[RFOOT_CSTRN_Z] = ModelerControl("Right Foot Constraint Z", -10, 10, 0.1, 0); controls[LEVEL_OF_DETAIL] = ModelerControl("Level of Detail", 1, 10, 1, 10); controls[LEFT_ULEG_ROTATE] = ModelerControl("Left Upper Leg Rotate", 0, 80, 1, 0); controls[LEFT_ULEG_SWAYLR] = ModelerControl("Left Upper Leg Sway Left/Right", 0, 90, 1, 0); controls[LEFT_ULEG_SWAYFB] = ModelerControl("Left Upper Leg Sway Front/Back", -60, 150, 1, 0); controls[RIGHT_ULEG_ROTATE] = ModelerControl("Right Upper Leg Rotate", 0, 80, 1, 0); controls[RIGHT_ULEG_SWAYLR] = ModelerControl("Right Upper Leg Sway Left/Right", 0, 90, 1, 0); controls[RIGHT_ULEG_SWAYFB] = ModelerControl("Right Upper Leg Sway Front/Back", -60, 150, 1, 0); controls[LEFT_KNEE] = ModelerControl("Left Knee", 0, 160, 1, 0); controls[RIGHT_KNEE] = ModelerControl("Right Knee", 0, 160, 1, 0); //controls[LEFT_FOOT_UD] = ModelerControl("Left Foot UD", -30, 90, 1, 0); controls[LEFT_FOOT_LR] = ModelerControl("Left Foot LR", -30, 30, 1, 0); //controls[RIGHT_FOOT_UD] = ModelerControl("Right Foot UD", -30, 90, 1, 0); controls[RIGHT_FOOT_LR] = ModelerControl("Right Foot LR", -30, 30, 1, 0); controls[LEFT_ELBOW] = ModelerControl("Left Elbow", 0, 160, 1, 0); controls[RIGHT_ELBOW] = ModelerControl("Right Elbow", 0, 160, 1, 0); controls[LEFT_UARM_ROTATE] = ModelerControl("Left Uarm Rotate", -90, 90, 1, 0); controls[RIGHT_UARM_ROTATE] = ModelerControl("Right Uarm Rotate", -90, 90, 1, 0); ModelerApplication::Instance()->Init(&createSampleModel, controls, NUMCONTROLS); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, // stepsize, defaultvalue) ModelerControl controls[NUMCONTROLS]; controls[LIGHT0_X] = ModelerControl("Light0 X", -5, 5, 0.1, -5.0f); controls[LIGHT0_Y] = ModelerControl("Light0 Y", -5, 5, 0.1, -2.0); controls[LIGHT0_Z] = ModelerControl("Light0 Z", -5, 5, 0.1, -4.0); controls[LIGHT0_R] = ModelerControl("Light0 R", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT0_G] = ModelerControl("Light0 G", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT0_B] = ModelerControl("Light0 B", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_X] = ModelerControl("Light1 X", -5.0f, 5.0f, 0.1f, 4.0f); controls[LIGHT1_Y] = ModelerControl("Light1 Y", -5.0f, 5.0f, 0.1f, 1.0f); controls[LIGHT1_Z] = ModelerControl("Light1 Z", -5.0f, 5.0f, 0.1f, 5.0f); controls[LIGHT1_R] = ModelerControl("Light1 R", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_G] = ModelerControl("Light1 G", 0.0f, 1.0f, 0.1f, 1.0f); controls[LIGHT1_B] = ModelerControl("Light1 B", 0.0f, 1.0f, 0.1f, 1.0f); controls[XPOS] = ModelerControl("X Position", -10, 10, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", -10, 10, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -10, 10, 0.1f, 0); controls[HEIGHT] = ModelerControl("Height", 1, 2.5, 0.1f, 1); controls[ROTATE] = ModelerControl("Rotate", -135, 135, 1, 0); controls[HEAD_CSTRN_X] = ModelerControl("Head Constraint X", -20, 20, 0.1, 0); controls[HEAD_CSTRN_Y] = ModelerControl("Head Constraint Y", -20, 20, 0.1, 6.0); controls[HEAD_CSTRN_Z] = ModelerControl("Head Constraint Z", -20, 20, 0.1, 0); controls[LHAND_CSTRN_X] = ModelerControl("Left Hand Constraint X", -20, 20, 0.1, 5.356248); controls[LHAND_CSTRN_Y] = ModelerControl("Left Hand Constraint Y", -20, 20, 0.1, 3.550485); controls[LHAND_CSTRN_Z] = ModelerControl("Left Hand Constraint Z", -20, 20, 0.1, 0); controls[RHAND_CSTRN_X] = ModelerControl("Right Hand Constraint X", -20, 20, 0.1, -5.356248); controls[RHAND_CSTRN_Y] = ModelerControl("Right Hand Constraint Y", -20, 20, 0.1, 3.550485); controls[RHAND_CSTRN_Z] = ModelerControl("Right Hand Constraint Z", -20, 20, 0.1, 0); controls[LFOOT_CSTRN_X] = ModelerControl("Left Foot Constraint X", -20, 20, 0.1, 0.942230); controls[LFOOT_CSTRN_Y] = ModelerControl("Left Foot Constraint Y", -20, 20, 0.1, -6.781559); controls[LFOOT_CSTRN_Z] = ModelerControl("Left Foot Constraint Z", -20, 20, 0.1, -0.086824); controls[RFOOT_CSTRN_X] = ModelerControl("Right Foot Constraint X", -20, 20, 0.1, -0.948529); controls[RFOOT_CSTRN_Y] = ModelerControl("Right Foot Constraint Y", -20, 20, 0.1, -6.601208); controls[RFOOT_CSTRN_Z] = ModelerControl("Right Foot Constraint Z", -20, 20, 0.1, -0.760312); controls[LEVEL_OF_DETAIL] = ModelerControl("Level of Detail", 1, 10, 1, 10); controls[LEFT_ULEG_ROTATE] = ModelerControl("Left Upper Leg Rotate", 0, 80, 1, 0); controls[LEFT_ULEG_SWAYLR] = ModelerControl("Left Upper Leg Sway Left/Right", 0, 90, 1, 0); controls[LEFT_ULEG_SWAYFB] = ModelerControl("Left Upper Leg Sway Front/Back", -60, 150, 1, 10); controls[RIGHT_ULEG_ROTATE] = ModelerControl("Right Upper Leg Rotate", 0, 80, 1, 0); controls[RIGHT_ULEG_SWAYLR] = ModelerControl("Right Upper Leg Sway Left/Right", 0, 90, 1, 0); controls[RIGHT_ULEG_SWAYFB] = ModelerControl("Right Upper Leg Sway Front/Back", -60, 150, 1, 10); controls[LEFT_KNEE] = ModelerControl("Left Knee", 0, 160, 1, 20); controls[RIGHT_KNEE] = ModelerControl("Right Knee", 0, 160, 1, 20); //controls[LEFT_FOOT_UD] = ModelerControl("Left Foot UD", -30, 90, 1, 0); controls[LEFT_FOOT_LR] = ModelerControl("Left Foot LR", -30, 30, 1, 0); //controls[RIGHT_FOOT_UD] = ModelerControl("Right Foot UD", -30, 90, 1, 0); controls[RIGHT_FOOT_LR] = ModelerControl("Right Foot LR", -30, 30, 1, 0); controls[LEFT_ELBOW] = ModelerControl("Left Elbow", 0, 160, 1, 0); controls[RIGHT_ELBOW] = ModelerControl("Right Elbow", 0, 160, 1, 0); controls[LEFT_UARM_ROTATE] = ModelerControl("Left Uarm Rotate", -90, 90, 1, 0); controls[RIGHT_UARM_ROTATE] = ModelerControl("Right Uarm Rotate", -90, 90, 1, 0); controls[DIVISION_LEVEL] = ModelerControl("Division Level", 0, 10, 1, 0); controls[DIVISION_CONTROL1] = ModelerControl("Division Control1", 0, 2, 0.2, 1); controls[DIVISION_CONTROL2] = ModelerControl("Division Control2", 0, 2, 0.2, 1); controls[DIVISION_CONTROL3] = ModelerControl("Division Control3", 0, 2, 0.2, 1); controls[DIVISION_CONTROL4] = ModelerControl("Division Control4", 0, 2, 0.2, 1); //particle source controls controls[PS_EMIT_1] = ModelerControl("PS_EMIT_1", 0, 1, 0.1, 1); controls[PS_NUM_1] = ModelerControl("PS_NUM_1", 0, 5, 1, 1); controls[PS_ANGLE_1] = ModelerControl("PS_ANGLE_1", 0, 180, 1, 10); controls[PS_EMIT_2] = ModelerControl("PS_EMIT_2", 0, 1, 0.1, 1); controls[PS_NUM_2] = ModelerControl("PS_NUM_2", 0, 5, 1, 1); controls[PS_ANGLE_2] = ModelerControl("PS_ANGLE_2", 0, 180, 1, 10); controls[PS_EMIT_3] = ModelerControl("PS_EMIT_3", 0, 1, 0.1, 1); controls[PS_NUM_3] = ModelerControl("PS_NUM_3", 0, 5, 1, 1); controls[PS_ANGLE_3] = ModelerControl("PS_ANGLE_3", 0, 180, 1, 10); controls[PS_LIFE] = ModelerControl("PS_LIFE", 0, 10.0, 0.1, 3.0); controls[PS_GRAVITY] = ModelerControl("PS_GRAVITY", 0, 20, 1, 10); ModelerApplication::Instance()->Init(&createSampleModel, controls, NUMCONTROLS); ModelerApplication::Instance()->SetParticleSystem(&ParticleSystem::Instance()); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, // stepsize, defaultvalue) ModelerControl controls[(int)ModelControls::NUMCONTROLS]; controls[(int)ModelControls::SHOW_AXES] = ModelerControl( "Show XYZ Axes", 0, 1, 1, 0); controls[(int)ModelControls::LIGHT0_X] = ModelerControl( "Light0 X", -10.0f, 10.0f, 0.05f, 4.0f); controls[(int)ModelControls::LIGHT0_Y] = ModelerControl( "Light0 Y", -10.0f, 10.0f, 0.05f, 2.0f); controls[(int)ModelControls::LIGHT0_Z] = ModelerControl( "Light0 Z", -10.0f, 10.0f, 0.05f, -4.0f); controls[(int)ModelControls::LIGHT0_R] = ModelerControl( "Light0 R", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT0_G] = ModelerControl( "Light0 G", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT0_B] = ModelerControl( "Light0 B", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT0_INTENSITY] = ModelerControl( "Light0 Intensity", 0.0f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT0_SPECULAR] = ModelerControl( "Light0 Specular", 0, 1, 1, 1); controls[(int)ModelControls::LIGHT1_X] = ModelerControl( "Light1 X", -10.0f, 10.0f, 0.05f, -2.0f); controls[(int)ModelControls::LIGHT1_Y] = ModelerControl( "Light1 Y", -10.0f, 10.0f, 0.05f, 1.0f); controls[(int)ModelControls::LIGHT1_Z] = ModelerControl( "Light1 Z", -10.0f, 10.0f, 0.05f, 5.0f); controls[(int)ModelControls::LIGHT1_R] = ModelerControl( "Light1 R", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT1_G] = ModelerControl( "Light1 G", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT1_B] = ModelerControl( "Light1 B", 0.0f, 1.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT1_INTENSITY] = ModelerControl( "Light1 Intensity", 0.0f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::LIGHT1_SPECULAR] = ModelerControl( "Light1 Specular", 0, 1, 1, 0); controls[(int)ModelControls::DETALS] = ModelerControl( "Model Details", 0, 10, 1, 10); controls[(int)ModelControls::BOXIFY] = ModelerControl( "Boxify", 0, 1, 1, 0); controls[(int)ModelControls::PRESETS] = ModelerControl( "Presets", 0, 1, 1, 0); controls[(int)ModelControls::XPOS] = ModelerControl( "Pos X", -5.0f, 5.0f, 0.05f, 0.0f); controls[(int)ModelControls::YPOS] = ModelerControl( "Pos Y", -5.0f, 5.0f, 0.05f, 0.0f); controls[(int)ModelControls::ZPOS] = ModelerControl( "Pos Z", -5.0f, 5.0f, 0.05f, 0.0f); controls[(int)ModelControls::HEIGHT] = ModelerControl( "Height", 0.5f, 2.0f, 0.05f, 1.0f); controls[(int)ModelControls::ROT_H] = ModelerControl( "H", -180, 180, 1, 0); controls[(int)ModelControls::ROT_P] = ModelerControl( "P", -180, 180, 1, 0); controls[(int)ModelControls::ROT_B] = ModelerControl( "B", -180, 180, 1, 0); controls[(int)ModelControls::DIFFUSE_R] = ModelerControl( "Diffuse R", 0.0f, 1.0f, 0.01f, 0.1f); controls[(int)ModelControls::DIFFUSE_G] = ModelerControl( "Diffuse G", 0.0f, 1.0f, 0.01f, 0.75f); controls[(int)ModelControls::DIFFUSE_B] = ModelerControl( "Diffuse B", 0.0f, 1.0f, 0.01f, 0.95f); controls[(int)ModelControls::ANIMATION] = ModelerControl( "Animation", 0, 1, 1, 0); controls[(int)ModelControls::ANIMATION_1_FRAME] = ModelerControl( "Animation 1 Frame", 0, AnimationController::kDuration - 1, 1, 0); controls[(int)ModelControls::CROTCH_ENABLE] = ModelerControl( "Crotch Enable", 0, 1, 1, 0); controls[(int)ModelControls::CROTCH] = ModelerControl( "Crotch", 0, 100, 1, 0); controls[(int)ModelControls::GLASS_ENABLE] = ModelerControl( "Wear Glass!", 0, 1, 1, 0); controls[(int)ModelControls::GLASS_P] = ModelerControl( "Glass P", -60, 0, 1, 0); controls[(int)ModelControls::HEAD_H] = ModelerControl( "Head H", -50, 50, 1, 0); controls[(int)ModelControls::HEAD_P] = ModelerControl( "Head P", -20, 40, 1, 0); controls[(int)ModelControls::HEAD_B] = ModelerControl( "Head B", -25, 25, 1, 0); controls[(int)ModelControls::SHOULDER_L_H] = ModelerControl( "Shoulder(L) H", -70, 10, 1, 0); controls[(int)ModelControls::SHOULDER_L_P] = ModelerControl( "Shoulder(L) P", -80, 80, 1, 0); controls[(int)ModelControls::SHOULDER_L_B] = ModelerControl( "Shoulder(L) B", -80, 80, 1, 0); controls[(int)ModelControls::FOREARM_L_P] = ModelerControl( "Forearm(L) P", 0, 140, 1, 0); controls[(int)ModelControls::FOREARM_L_B] = ModelerControl( "Forearm(L) B", 0, 140, 1, 0); controls[(int)ModelControls::SHOULDER_R_H] = ModelerControl( "Shoulder(R) H", -10, 70, 1, 0); controls[(int)ModelControls::SHOULDER_R_P] = ModelerControl( "Shoulder(R) P", -80, 80, 1, 0); controls[(int)ModelControls::SHOULDER_R_B] = ModelerControl( "Shoulder(R) B", -80, 80, 1, 0); controls[(int)ModelControls::FOREARM_R_P] = ModelerControl( "Forearm(R) P", 0, 140, 1, 0); controls[(int)ModelControls::FOREARM_R_B] = ModelerControl( "Forearm(R) B", -140, 0, 1, 0); controls[(int)ModelControls::WHIST_H] = ModelerControl( "Whist H", -35, 35, 1, 0); controls[(int)ModelControls::WHIST_P] = ModelerControl( "Whist P", -20, 100, 1, 0); controls[(int)ModelControls::WHIST_B] = ModelerControl( "Whist B", -35, 35, 1, 0); controls[(int)ModelControls::THIGH_L_H] = ModelerControl( "Thigh(L) H", -80, 0, 1, 0); controls[(int)ModelControls::THIGH_L_P] = ModelerControl( "Thigh(L) P", -140, 90, 1, 0); controls[(int)ModelControls::THIGH_L_B] = ModelerControl( "Thigh(L) B", -10, 90, 1, 0); controls[(int)ModelControls::SHIN_L_P] = ModelerControl( "Shin(L) P", 0, 140, 1, 0); controls[(int)ModelControls::THIGH_R_H] = ModelerControl( "Thigh(R) H", 0, 80, 1, 0); controls[(int)ModelControls::THIGH_R_P] = ModelerControl( "Thigh(R) P", -140, 90, 1, 0); controls[(int)ModelControls::THIGH_R_B] = ModelerControl( "Thigh(R) B", -90, 10, 1, 0); controls[(int)ModelControls::SHIN_R_P] = ModelerControl( "Shin(R) P", 0, 140, 1, 0); controls[(int)ModelControls::BOOK_ENABLE] = ModelerControl( "Book Enable", 0, 1, 1, 0); controls[(int)ModelControls::BOOK_X] = ModelerControl( "Book X", -20.0f, 20.0f, 0.05f, 0.0f); controls[(int)ModelControls::BOOK_Y] = ModelerControl( "Book Y", -20.0f, 20.0f, 0.05f, 3.0f); controls[(int)ModelControls::BOOK_Z] = ModelerControl( "Book Z", -20.0f, 20.0f, 0.05f, 6.0f); controls[(int)ModelControls::BOOK_H] = ModelerControl( "Book H", -180, 180, 1, 0); controls[(int)ModelControls::BOOK_P] = ModelerControl( "Book P", -180, 180, 1, 30); controls[(int)ModelControls::BOOK_B] = ModelerControl( "Book B", -180, 180, 1, 0); controls[(int)ModelControls::BOOK_SCALE_X] = ModelerControl( "Book Scale X", -0.5f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::BOOK_SCALE_Y] = ModelerControl( "Book Scale Y", -0.5f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::BOOK_SCALE_Z] = ModelerControl( "Book Scale Z", -0.5f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::FPLANT_ENABLE] = ModelerControl( "Fractal Plant Enable", 0, 1, 1, 0); controls[(int)ModelControls::FPLANT_N] = ModelerControl( "Fractal Plant n (#recursion)", 1, 6, 1, 3); controls[(int)ModelControls::FPLANT_STEM_Z] = ModelerControl( "Fractal Plant Stem Length", 0.1f, 2.0f, 0.05f, 0.25f); controls[(int)ModelControls::FPLANT_STEM_R] = ModelerControl( "Fractal Plant Stem Radius", 0.05f, 2.0f, 0.05f, 0.1f); controls[(int)ModelControls::FPLANT_ENABLE_RANDOM_PB] = ModelerControl( "Fractal Plant Enable Random PB (branch)", 0, 1, 1, 0); controls[(int)ModelControls::FPLANT_RANDOM_PB_SEED] = ModelerControl( "Fractal Plant Random PB Seed", 0, UINT_MAX, 1, 0); controls[(int)ModelControls::FPLANT_X] = ModelerControl( "Fractal Plant X", -20.0f, 20.0f, 0.05f, -10.0f); controls[(int)ModelControls::FPLANT_Y] = ModelerControl( "Fractal Plant Y", -20.0f, 20.0f, 0.05f, -17.2f); controls[(int)ModelControls::FPLANT_Z] = ModelerControl( "Fractal Plant Z", -20.0f, 20.0f, 0.05f, -10.0f); controls[(int)ModelControls::FPLANT_H] = ModelerControl( "Fractal Plant H", -180, 180, 1, 0); controls[(int)ModelControls::FPLANT_P] = ModelerControl( "Fractal Plant P", -180, 180, 1, -90); controls[(int)ModelControls::FPLANT_B] = ModelerControl( "Fractal Plant B", -180, 180, 1, 0); controls[(int)ModelControls::FPLANT_SCALE_X] = ModelerControl( "Fractal Plant Scale X", -0.5f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::FPLANT_SCALE_Y] = ModelerControl( "Fractal Plant Scale Y", -0.5f, 3.0f, 0.01f, 1.0f); controls[(int)ModelControls::FPLANT_SCALE_Z] = ModelerControl( "Fractal Plant Scale Z", -0.5f, 3.0f, 0.01f, 1.0f); ModelerApplication::Instance()->Init(&createMyModel, controls, (int)ModelControls::NUMCONTROLS); InitPresets(); return ModelerApplication::Instance()->Run(); }
int main() { // Initialize the controls // Constructor is ModelerControl(name, minimumvalue, maximumvalue, stepsize, defaultvalue) ModelerControl controls[NUMCONTROLS]; controls[XPOS] = ModelerControl("X Position", -5, 5, 0.1f, 0); controls[YPOS] = ModelerControl("Y Position", 0, 5, 0.1f, 0); controls[ZPOS] = ModelerControl("Z Position", -5, 5, 0.1f, 0); controls[RIGHTARMX] = ModelerControl("Right Arm Angle X", 0, 360, 1, 0); controls[RIGHTARMY] = ModelerControl("Right Arm Angle Y", 0, 360, 1, 0); controls[RIGHTARMZ] = ModelerControl("Right Arm Angle Z", 0, 360, 1, 0); controls[RIGHTELBOWX] = ModelerControl("Right Elbow Angle X", 0, 180, 1, 0); controls[RIGHTELBOWY] = ModelerControl("Spin Right Elbow", 0, 360, 1, 0); controls[RIGHTHANDX] = ModelerControl("Right Hand Angle X", 90, -90, 1, 0); controls[LEFTARMX] = ModelerControl("Left Arm Angle X", 0, 360, 1, 0); controls[LEFTARMY] = ModelerControl("Left Arm Angle Y", 0, 360, 1, 0); controls[LEFTARMZ] = ModelerControl("Left Arm Angle Z", 0, 360, 1, 0); controls[LEFTELBOWX] = ModelerControl("Left Elbow Angle X", 0, 180, 1, 0); controls[LEFTELBOWY] = ModelerControl("Spin Left Elbow", 0, 360, 1, 0); controls[LEFTHANDX] = ModelerControl("Left Hand Angle X", 90, -90, 1, 0); controls[LEFTLEGX] = ModelerControl("Left Leg Angle X", -60, 60, 1, 0); controls[LEFTLEGZ] = ModelerControl("Left Leg Angle Z", -80, 80, 1, 0); controls[RIGHTLEGX] = ModelerControl("Right Leg Angle X", -60, 60, 1, 0); controls[RIGHTLEGZ] = ModelerControl("Right Leg Angle Z", -80, 80, 1, 0); controls[LEFTKNEE] = ModelerControl("Left Knee", 0, 15, 1, 0); controls[RIGHTKNEE] = ModelerControl("Right Knee", 0, 15, 1, 0); controls[TAILMOVEMENT] = ModelerControl("Tail Movement", 0, 100, 1, 0); controls[METABALLSKIN] = ModelerControl("Metaball Skin", 0, 1, 1, 0); controls[TEXTURESKIN] = ModelerControl("Texture Skin", 0, 1, 1, 0); controls[NINJATURTLE] = ModelerControl("Ninja Turtle", 0, 1, 1, 0); controls[EYEBANDANA] = ModelerControl("Eye Bandana", 0, 1, 1, 0); ModelerApplication::Instance()->Init(&createSampleModel, controls, NUMCONTROLS); // Hooking up the particle system ParticleSystem *ps = new ParticleSystem(); ps->addFieldForce(Force(0.0, -1.0, 0.0)); ModelerApplication::Instance()->SetParticleSystem(ps); return ModelerApplication::Instance()->Run(); }