1/* 2 * Copyright (c) 2009-2010 jMonkeyEngine 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of 'jMonkeyEngine' nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32package com.jme3.bullet.joints.motors; 33 34/** 35 * 36 * @author normenhansen 37 */ 38public class RotationalLimitMotor { 39 40 private long motorId = 0; 41 42 public RotationalLimitMotor(long motor) { 43 this.motorId = motor; 44 } 45 46 public long getMotor() { 47 return motorId; 48 } 49 50 public float getLoLimit() { 51 return getLoLimit(motorId); 52 } 53 54 private native float getLoLimit(long motorId); 55 56 public void setLoLimit(float loLimit) { 57 setLoLimit(motorId, loLimit); 58 } 59 60 private native void setLoLimit(long motorId, float loLimit); 61 62 public float getHiLimit() { 63 return getHiLimit(motorId); 64 } 65 66 private native float getHiLimit(long motorId); 67 68 public void setHiLimit(float hiLimit) { 69 setHiLimit(motorId, hiLimit); 70 } 71 72 private native void setHiLimit(long motorId, float hiLimit); 73 74 public float getTargetVelocity() { 75 return getTargetVelocity(motorId); 76 } 77 78 private native float getTargetVelocity(long motorId); 79 80 public void setTargetVelocity(float targetVelocity) { 81 setTargetVelocity(motorId, targetVelocity); 82 } 83 84 private native void setTargetVelocity(long motorId, float targetVelocity); 85 86 public float getMaxMotorForce() { 87 return getMaxMotorForce(motorId); 88 } 89 90 private native float getMaxMotorForce(long motorId); 91 92 public void setMaxMotorForce(float maxMotorForce) { 93 setMaxMotorForce(motorId, maxMotorForce); 94 } 95 96 private native void setMaxMotorForce(long motorId, float maxMotorForce); 97 98 public float getMaxLimitForce() { 99 return getMaxLimitForce(motorId); 100 } 101 102 private native float getMaxLimitForce(long motorId); 103 104 public void setMaxLimitForce(float maxLimitForce) { 105 setMaxLimitForce(motorId, maxLimitForce); 106 } 107 108 private native void setMaxLimitForce(long motorId, float maxLimitForce); 109 110 public float getDamping() { 111 return getDamping(motorId); 112 } 113 114 private native float getDamping(long motorId); 115 116 public void setDamping(float damping) { 117 setDamping(motorId, damping); 118 } 119 120 private native void setDamping(long motorId, float damping); 121 122 public float getLimitSoftness() { 123 return getLimitSoftness(motorId); 124 } 125 126 private native float getLimitSoftness(long motorId); 127 128 public void setLimitSoftness(float limitSoftness) { 129 setLimitSoftness(motorId, limitSoftness); 130 } 131 132 private native void setLimitSoftness(long motorId, float limitSoftness); 133 134 public float getERP() { 135 return getERP(motorId); 136 } 137 138 private native float getERP(long motorId); 139 140 public void setERP(float ERP) { 141 setERP(motorId, ERP); 142 } 143 144 private native void setERP(long motorId, float ERP); 145 146 public float getBounce() { 147 return getBounce(motorId); 148 } 149 150 private native float getBounce(long motorId); 151 152 public void setBounce(float bounce) { 153 setBounce(motorId, bounce); 154 } 155 156 private native void setBounce(long motorId, float limitSoftness); 157 158 public boolean isEnableMotor() { 159 return isEnableMotor(motorId); 160 } 161 162 private native boolean isEnableMotor(long motorId); 163 164 public void setEnableMotor(boolean enableMotor) { 165 setEnableMotor(motorId, enableMotor); 166 } 167 168 private native void setEnableMotor(long motorId, boolean enableMotor); 169} 170