1 /* 2 Copyright (c) 2008-2009 NetAllied Systems GmbH 3 4 This file is part of COLLADAMaya. 5 6 Portions of the code are: 7 Copyright (c) 2005-2007 Feeling Software Inc. 8 Copyright (c) 2005-2007 Sony Computer Entertainment America 9 Copyright (c) 2004-2005 Alias Systems Corp. 10 11 Licensed under the MIT Open Source License, 12 for details please see LICENSE file or the website 13 http://www.opensource.org/licenses/mit-license.php 14 */ 15 16 #ifndef __COLLADA_MAYA_SYNTAX_H__ 17 #define __COLLADA_MAYA_SYNTAX_H__ 18 19 #include "COLLADAMayaPrerequisites.h" 20 #include "COLLADABUVersionInfo.h" 21 22 namespace COLLADAMaya 23 { 24 // COLLADA NetAllied Systems 25 static const char* TRANSLATOR_VENDOR = "NetAllied Systems GmbH"; 26 static const char* USERNAME = "USERNAME"; 27 static const char* USER = "USER"; 28 29 // Names for the creation of the plug-in 30 static const char* COLLADA_EXPORTER = "OpenCOLLADA exporter"; 31 static const char* COLLADA_IMPORTER = "OpenCOLLADA importer"; 32 static const char* COLLADA_DOCUMENT = "colladaDocument"; 33 static const String AUTHORING_TOOL_NAME = "OpenCOLLADA"; 34 35 /** Profile specific extra attribute parameters. */ 36 static const char* PROFILE_COLLADA = "COLLADA"; 37 static const String PROFILE_MAYA = "OpenCOLLADAMaya"; 38 static const char* PROFILE_MAX = "OpenCOLLADA3dsMax"; 39 40 /** Extra technique parameters. */ 41 static const String PARAMETER_MAYA_ID = "originalMayaNodeId"; 42 static const String PARAMETER_DOUBLE_SIDED = "double_sided"; 43 static const String PARAMETER_PROXY = "proxy"; 44 static const String PARAMETER_EVENT = "event"; 45 46 /** Empty strings. */ 47 static const String EMPTY_STRING = ""; 48 static const char* EMPTY_CSTRING = ""; 49 50 /** The unique name for the visual scene node on export. */ 51 static const String VISUAL_SCENE_NODE_ID = "VisualSceneNode"; 52 53 /** The unique name for the physics scene node on export. */ 54 static const String PHYSICS_SCENE_NODE_ID = "collada_physics_scene"; 55 56 57 /** The standard name for the collada id attribute. */ 58 static const String COLLADA_ID_ATTRIBUTE_NAME = "colladaId"; 59 static const String COLLADA_EFFECT_ID_ATTRIBUTE_NAME = "colladaEffectId"; 60 static const String COLLADA_MATERIAL_ID_ATTRIBUTE_NAME = "colladaMaterialId"; 61 static const String COLLADA_EFFECT_COMMON_ID_ATTRIBUTE_NAME = "colladaEffectCommonId"; 62 63 /** Node types. */ 64 static const char* NODE_TYPE_NODE = "NODE"; 65 static const char* NODE_TYPE_JOINT = "JOINT"; 66 67 // Mel-Scripts 68 // Name of a MEL script that will be used to display the contents of the 69 // options dialog during file open and save 70 static const char* MEL_EXPORT_OPTS = "openColladaExporterOpts"; 71 static const char* MEL_IMPORT_OPTS = "openColladaImporterOpts"; 72 73 // COLLADA 1.4 Maya-specific definitions 74 static const char* MAYA_TEXTURE_NODETYPE = "dgnode_type"; 75 static const char* MAYA_TEXTURE_FILETEXTURE = "kFile"; 76 static const char* MAYA_TEXTURE_PSDTEXTURE = "kPSDFile"; 77 static const char* MAYA_TEXTURE_IMAGE_SEQUENCE = "image_sequence"; 78 79 static const char* MAYA_PENUMBRA_LIGHT_PARAMETER = "penumbra_angle"; 80 static const char* MAYA_DROPOFF_LIGHT_PARAMETER = "dropoff"; 81 static const char* MAYA_AMBIENTSHADE_LIGHT_PARAMETER = "ambient_shade"; 82 83 // COLLADA 1.3 Maya-specific definitions 84 static const char* MAYA_BLINDNAME_PARAMETER = "BLINDNAME"; 85 static const char* MAYA_BLINDTYPEID_PARAMETER = "BLINDTYPEID"; 86 static const char* MAYA_DOUBLE_SIDED_PARAMETER = "DOUBLE_SIDED"; 87 static const char* MAYA_LAYER_PARAMETER = "layer"; 88 static const char* MAYA_LONGNAME_PARAMETER = "long_name"; 89 static const char* MAYA_PREINFINITY_PARAMETER = "pre_infinity"; 90 static const char* MAYA_POSTINFINITY_PARAMETER = "post_infinity"; 91 static const char* MAYA_SHORTNAME_PARAMETER = "short_name"; 92 93 static const char* MAYA_TEXTURE_WRAPU_PARAMETER = "wrapU"; 94 static const char* MAYA_TEXTURE_WRAPV_PARAMETER = "wrapV"; 95 static const char* MAYA_TEXTURE_MIRRORU_PARAMETER = "mirrorU"; 96 static const char* MAYA_TEXTURE_MIRRORV_PARAMETER = "mirrorV"; 97 static const char* MAYA_TEXTURE_COVERAGEU_PARAMETER = "coverageU"; 98 static const char* MAYA_TEXTURE_COVERAGEV_PARAMETER = "coverageV"; 99 static const char* MAYA_TEXTURE_TRANSFRAMEU_PARAMETER = "translateFrameU"; 100 static const char* MAYA_TEXTURE_TRANSFRAMEV_PARAMETER = "translateFrameV"; 101 static const char* MAYA_TEXTURE_ROTFRAME_PARAMETER = "rotateFrame"; 102 static const char* MAYA_TEXTURE_STAGGER_PARAMETER = "stagger"; 103 static const char* MAYA_TEXTURE_REPEATU_PARAMETER = "repeatU"; 104 static const char* MAYA_TEXTURE_REPEATV_PARAMETER = "repeatV"; 105 static const char* MAYA_TEXTURE_OFFSETU_PARAMETER = "offsetU"; 106 static const char* MAYA_TEXTURE_OFFSETV_PARAMETER = "offsetV"; 107 static const char* MAYA_TEXTURE_ROTATEUV_PARAMETER = "rotateUV"; 108 static const char* MAYA_TEXTURE_NOISEU_PARAMETER = "noiseU"; 109 static const char* MAYA_TEXTURE_NOISEV_PARAMETER = "noiseV"; 110 static const char* MAYA_TEXTURE_FAST_PARAMETER = "fast"; 111 static const char* MAYA_TEXTURE_BLENDMODE_PARAMETER = "blend_mode"; 112 113 static const char* MAYA_PROJECTION_ELEMENT = "projection"; 114 static const char* MAYA_PROJECTION_TYPE_PARAMETER = "type"; 115 static const char* MAYA_PROJECTION_MATRIX_PARAMETER = "matrix"; 116 117 // ColladaMaya enumerated types 118 static const char* MAYA_CONSTANT_INFINITY = "CONSTANT"; 119 static const char* MAYA_LINEAR_INFINITY = "LINEAR"; 120 static const char* MAYA_CYCLE_INFINITY = "CYCLE"; 121 static const char* MAYA_CYCLE_RELATIVE_INFINITY = "CYCLE_RELATIVE"; 122 static const char* MAYA_OSCILLATE_INFINITY = "OSCILLATE"; 123 124 static const char* MAYA_BLENDMODE_NONE = "NONE"; 125 static const char* MAYA_BLENDMODE_OVER = "OVER"; 126 static const char* MAYA_BLENDMODE_IN = "IN"; 127 static const char* MAYA_BLENDMODE_OUT = "OUT"; 128 static const char* MAYA_BLENDMODE_ADD = "ADD"; 129 static const char* MAYA_BLENDMODE_SUBTRACT = "SUBTRACT"; 130 static const char* MAYA_BLENDMODE_MULTIPLY = "MULTIPLY"; 131 static const char* MAYA_BLENDMODE_DIFFERENCE = "DIFFERENCE"; 132 static const char* MAYA_BLENDMODE_LIGHTEN = "LIGHTEN"; 133 static const char* MAYA_BLENDMODE_DARKEN = "DARKEN"; 134 static const char* MAYA_BLENDMODE_SATURATE = "SATURATE"; 135 static const char* MAYA_BLENDMODE_DESATURATE = "DESATURATE"; 136 static const char* MAYA_BLENDMODE_ILLUMINATE = "ILLUMINATE"; 137 138 static const char* MAYA_NOTE_PARAMETER = "note"; 139 static const char* MAYA_ENDTIME_PARAMETER = "end_time"; 140 static const char* MAYA_STARTTIME_PARAMETER = "start_time"; 141 static const char* MAYA_SEGMENTSCALECOMP_PARAMETER = "segment_scale_compensate"; 142 static const char* MAYA_BUMP_PARAMETER = "bump"; 143 144 /** Parameters for the animation exports. */ 145 static const String EMPTY_PARAMETER[1] = { "" }; 146 static const String X_PARAMETER[1] = { "X" }; 147 static const String Y_PARAMETER[1] = { "Y" }; 148 static const String Z_PARAMETER[1] = { "Z" }; 149 static const String XY_PARAMETER[1] = { "XY" }; 150 static const String XZ_PARAMETER[1] = { "XZ" }; 151 static const String YZ_PARAMETER[1] = { "YZ" }; 152 static const String XY_PARAMETERS[2] = { "X", "Y" }; 153 static const String XYZ_PARAMETERS[3] = { "X", "Y", "Z" }; 154 static const String ZYX_PARAMETERS[3] = { "Z", "Y", "X" }; 155 static const String XYZW_PARAMETERS[4] = { "X", "Y", "Z", "W" }; 156 static const String STPQ_PARAMETERS[4] = { "S", "T", "P", "Q" }; 157 static const String RGBA_PARAMETERS[4] = { "R", "G", "B", "A" }; 158 static const String ANGLE_PARAMETER[1] = { "ANGLE" }; 159 static const String MATRIX_PARAMETER[1] = { "MATRIX" }; 160 static const String TRANSFORM_PARAMETER[1] = { "TRANSFORM" }; 161 162 static const String A_PARAMETER[1] = { "A" }; 163 static const String RGB_PARAMETERS[3] = { "R", "G", "B" }; 164 static const String ST_PARAMETERS[2] = { "S", "T" }; 165 166 static const String VERTEX_SID = "VERTEX"; 167 static const String SKEW_XY_SID = "skewXY"; 168 static const String SKEW_XZ_SID = "skewXZ"; 169 static const String SKEW_YZ_SID = "skewYZ"; 170 171 /** Attribute names and sids for camera animation. */ 172 static const String XMAG_SID = "xmag"; 173 static const String YFOV_SID = "yfov"; 174 static const String XFOV_SID = "xfov"; 175 static const String NEAR_CLIP_SID = "near_clip"; 176 static const String FAR_CLIP_SID = "far_clip"; 177 static const String VERTICAL_APERTURE_SID = "vertical_aperture"; 178 static const String HORIZONTAL_APERTURE_SID = "horizontal_aperture"; 179 static const String LENS_SQUEEZE_SID = "lens_squeeze"; 180 static const String FILM_FIT_OFFSET_SID = "film_fit_offset"; 181 static const String HORIZONTAL_FILM_OFFSET_SID = "horizontal_film_offset"; 182 static const String VERTICAL_FILM_OFFSET_SID = "vertical_film_offset"; 183 184 static const String ATTR_ORTHOGRAPHIC_WIDTH = "orthographicWidth"; 185 static const String ATTR_FOCAL_LENGTH = "focalLength"; 186 static const String ATTR_NEAR_CLIP_PLANE = "nearClipPlane"; 187 static const String ATTR_FAR_CLIP_PLANE = "farClipPlane"; 188 static const String ATTR_VERTICAL_FILM_APERTURE = "verticalFilmAperture"; 189 static const String ATTR_HORIZONTAL_FILM_APERTURE = "horizontalFilmAperture"; 190 static const String ATTR_LENS_SQUEEZE_RATIO = "lensSqueezeRatio"; 191 static const String ATTR_FILM_FIT_OFFSET = "filmFitOffset"; 192 static const String ATTR_HORIZONTAL_FILM_OFFSET = "horizontalFilmOffset"; // XYZ 193 static const String ATTR_VERTICAL_FILM_OFFSET = "verticalFilmOffset"; // XYZ 194 195 static const String MAYA_VAPERTURE_PARAMETER = "vertical_aperture"; 196 static const String MAYA_HAPERTURE_PARAMETER = "horizontal_aperture"; 197 static const String MAYA_LENS_SQUEEZE_PARAMETER = "lens_squeeze"; 198 static const String MAYA_FILM_FIT_PARAMETER = "film_fit"; 199 static const String MAYA_FILM_FIT_OFFSET_PARAMETER = "film_fit_offset"; 200 static const String MAYA_FILM_OFFSET_X_PARAMETER = "film_offsetX"; 201 static const String MAYA_FILM_OFFSET_Y_PARAMETER = "film_offsetY"; 202 203 /** The plug ids for the animation exports. */ 204 static const char* ATTR_ALPHA_GAIN = "alphaGain"; 205 static const char* ATTR_ALPHA_OFFSET = "alphaOffset"; 206 static const char* ATTR_AMBIENT_COLOR = "ambientColor"; 207 static const char* ATTR_AMBIENT_SHADE = "ambientShade"; 208 static const char* ATTR_BACKFACE_CULLING = "backfaceCulling"; 209 static const char* ATTR_BUMP_DEPTH = "bumpDepth"; 210 static const char* ATTR_BUMP_INTERP = "bumpInterp"; 211 static const char* ATTR_BUMP_VALUE = "bumpValue"; 212 static const char* ATTR_COLOR = "color"; 213 static const char* ATTR_COLOR_NAME = "cn"; 214 static const char* ATTR_COLOR_PER_VERTEX = "colorPerVertex"; 215 static const char* ATTR_COLORSET = "colorSet"; 216 static const char* ATTR_COLORSET_NAME = "clsn"; 217 static const char* ATTR_COLORSET_POINTS = "clsp"; 218 static const char* ATTR_CONE_ANGLE = "coneAngle"; 219 static const char* ATTR_COSINE_POWER = "cosinePower"; 220 static const char* ATTR_DEFAULT_SHADER_LIST1 = "defaultShaderList1"; 221 static const char* ATTR_DOUBLE_SIDED = "doubleSided"; 222 static const char* ATTR_DROP_OFF = "dropoff"; 223 static const char* ATTR_ENVELOPE = "en"; 224 static const char* ATTR_ECCENTRICITY = "eccentricity"; 225 static const char* ATTR_FILE_TEXTURE_NAME = "fileTextureName"; 226 static const char* ATTR_GEOM_MATRIX = "geomMatrix"; 227 static const char* ATTR_IMAGE = "image"; 228 static const char* ATTR_IMAGE_SEQUENCE = "useFrameExtension"; 229 /** The standard input attribute of the polyShape node. This attribute accepts input 230 mesh data from other DG nodes and forwards the data through the node to the 231 outMesh. It stores its own internal copy of the geometry being passed into the 232 node. inMesh is only valid if there is an input connection. Otherwise it is ignored. */ 233 static const char* ATTR_IN_MESH = "inMesh"; 234 static const char* ATTR_INCANDESCENCE = "incandescence"; 235 static const char* ATTR_INPUt = "input"; 236 static const char* ATTR_INPUT_GEOM_TARGET = "igt"; 237 static const char* ATTR_INPUT_GEOMETRY = "ig"; 238 static const char* ATTR_INPUT_COMPONENT_TARGET = "ict"; 239 static const char* ATTR_INPUT_POINTS_TARGET = "ipt"; 240 static const char* ATTR_INPUT_TARGET = "it"; 241 static const char* ATTR_INPUT_TARGET_GROUP = "itg"; 242 static const char* ATTR_INPUT_TARGET_INPUT = "iti"; 243 static const char* ATTR_INTENSITY = "intensity"; 244 static const char* ATTR_INTERMEDIATE_OBJECT = "io"; 245 static const char* ATTR_INVERT = "invert"; 246 static const char* ATTR_JOINT_ORIENT = "jointOrient"; 247 static const char* ATTR_MATRIX = "matrix"; 248 static const char* ATTR_NODE_STATE = "nodeState"; 249 static const char* ATTR_NORMAL_CAMERA = "normalCamera"; 250 static const char* ATTR_OUT_ALPHA = "oa"; 251 static const char* ATTR_OUT_COLOR = "oc"; // "outColor" 252 /** The standard output attribute of the polyShape node. This attribute receives input 253 mesh data from either the inMesh or cachedInMesh (depending on the node 254 state) and stores it as its own internal copy of the mesh. The outMesh geometry 255 represents the final geometry of the shape and is always valid. */ 256 static const char* ATTR_OUT_MESH = "outMesh"; 257 static const char* ATTR_OUTPUT = "output"; 258 static const char* ATTR_OUT_TRANSPARENCY = "ot"; // "outTransparency" 259 static const char* ATTR_PENUMBRA_ANGLE = "penumbraAngle"; 260 static const char* ATTR_PLACEMENT_MATRIX = "placementMatrix"; 261 static const char* ATTR_PROJECTION_TYPE = "projType"; 262 static const char* ATTR_REFLECTIVITY = "reflectivity"; 263 static const char* ATTR_REFLECTED_COLOR = "reflectedColor"; 264 static const char* ATTR_REFRACTIONS = "refractions"; 265 static const char* ATTR_REFRACTIVE_INDEX = "refractiveIndex"; 266 static const char* ATTR_ROTATE = "rotate"; 267 static const char* ATTR_ROTATE_AXIS = "rotateAxis"; 268 static const char* ATTR_ROTATE_ORDER = "rotateOrder"; 269 static const char* ATTR_ROTATE_PIVOT = "rotatePivot"; 270 static const char* ATTR_ROTATE_PIVOT_TRANSLATION = "rotatePivotTranslation"; 271 static const char* ATTR_ROTATE_PIVOT_INVERSE = "rotatePivotInverse"; 272 static const char* ATTR_ROTATE_X = "rotateX"; 273 static const char* ATTR_ROTATE_Y = "rotateY"; 274 static const char* ATTR_ROTATE_Z = "rotateZ"; 275 static const char* ATTR_SCALE = "scale"; 276 static const char* ATTR_SCALE_PIVOT_INVERSE = "scalePivotInverse"; 277 static const char* ATTR_SCALE_PIVOT = "scalePivot"; 278 static const char* ATTR_SCALE_PIVOT_TRANSLATION = "scalePivotTranslation"; 279 static const char* ATTR_SHADERS = "shaders"; 280 static const char* ATTR_SEGMENT_SCALE_COMPENSATE = "ssc"; 281 static const char* ATTR_SKEW = "skew"; 282 static const char* ATTR_SPECULAR_COLOR = "specularColor"; 283 static const char* ATTR_SURFACE_SHADER = "surfaceShader"; 284 static const char* ATTR_TRANSFORM = "transform"; 285 static const char* ATTR_TRANSLATE = "translate"; 286 static const char* ATTR_TRANSPARENCY = "transparency"; 287 static const char* ATTR_UV_COORD = "uvCoord"; 288 static const char* ATTR_UV_SET = "uvSet"; 289 static const char* ATTR_UV_SET_NAME = "uvsn"; 290 static const char* ATTR_VISIBILITY = "visibility"; 291 static const char* ATTR_VERTEX_POSITION_TWEAKS = "pt"; 292 static const char* ATTR_VERTEX_ALPHA = "vxal"; 293 static const char* ATTR_VERTEX_COLOR = "vclr"; 294 static const char* ATTR_VERTEX_COLOR_RGB = "vrgb"; 295 static const char* ATTR_VERTEX_FACE_ALPHA = "vfal"; 296 static const char* ATTR_VERTEX_FACE_COLOR = "vfcl"; 297 static const char* ATTR_VERTEX_FACE_COLOR_RGB = "frgb"; 298 static const char* ATTR_WEIGHT = "w"; 299 static const char* ATTR_EVENT_ANIMATION = "animationEvent"; 300 static const char* ATTR_CLIP_SOURCE_START = "sourceStart"; 301 static const char* ATTR_CLIP_SOURCE_END = "sourceEnd"; 302 static const char* ATTR_THRESHOLD = "threshold"; 303 304 /** Constants for the cameras */ 305 static const char* CAMERA_PERSP = "persp"; 306 static const char* CAMERA_TOP = "top"; 307 static const char* CAMERA_SIDE = "side"; 308 static const char* CAMERA_FRONT = "front"; 309 static const char* CAMERA_PERSP_SHAPE = "perspShape"; 310 static const char* CAMERA_TOP_SHAPE = "topShape"; 311 static const char* CAMERA_SIDE_SHAPE = "sideShape"; 312 static const char* CAMERA_FRONT_SHAPE = "frontShape"; 313 314 /** Constants for the physical scenes. */ 315 static const char* NIMA_INTERNAL_PHYSIKS = "nimaInternalPhysics"; 316 static const char* AGEIA_PHYSIKS_MODEL = "AgeiaPhysicsModel"; 317 static const char* BULLET_PHYSIKS_NODE = "bulletRigidBodyShape"; 318 static const char* BULLET_PHYSIKS_SOLVER_NODE = "bulletSolverShape"; 319 static const char* NX_RIGID_SOLVER = "nxRigidSolver"; 320 static const char* NX_RIGID_BODY = "nxRigidBody"; 321 static const char* NX_SHAPE = "physicsShape"; 322 static const char* NX_RIGID_CONSTRAINT = "nxRigidConstraint"; 323 static const char* PHYSICS_MODEL_ID = "PhysicsModel"; 324 static const char* PHYSICS_WORLD_REFERENCE = "world"; 325 static const char* ATTR_MASS = "mass"; 326 static const char* ATTR_BODY_TYPE = "bodyType"; 327 static const char* ATTR_DYNAMIC = "dynamic"; 328 static const char* ATTR_INERTIA = "inertia"; 329 static const char* ATTR_EXTENT = "extent"; 330 static const char* ATTR_RIGID_BODY_1 = "rigidBody1"; 331 static const char* ATTR_RIGID_BODY_2 = "rigidBody2"; 332 static const char* ATTR_CONSTRAIN = "constrain"; 333 static const char* ATTR_USE_ACCELERATION = "useAcceleration"; 334 static const char* ATTR_RADIUS_SCALE = "radiusScale"; 335 static const char* ATTR_ORIENTATION_MODE = "orientationMode"; 336 static const char* ATTR_SWING_1_LIMIT_RESTITUTION = "swing1LimitRestitution"; 337 static const char* ATTR_SWING_1_LIMIT_SPRING = "swing1LimitSpring"; 338 static const char* ATTR_SWING_1_LIMIT_DAMPING = "swing1LimitDamping"; 339 static const char* ATTR_SWING_2_LIMIT_RESTITUTION = "swing2LimitRestitution"; 340 static const char* ATTR_SWING_2_LIMIT_SPRING = "swing2LimitSpring"; 341 static const char* ATTR_SWING_2_LIMIT_DAMPING = "swing2LimitDamping"; 342 static const char* ATTR_TWIST_LOW_LIMIT_RESTITUTION = "twistLowLimitRestitution"; 343 static const char* ATTR_TWIST_LOW_LIMIT_SPRING = "twistLowLimitSpring"; 344 static const char* ATTR_TWIST_LOW_LIMIT_DAMPING = "twistLowLimitDamping"; 345 static const char* ATTR_TWIST_HIGH_LIMIT_RESTITUTION = "twistHighLimitRestitution"; 346 static const char* ATTR_TWIST_HIGH_LIMIT_SPRING = "twistHighLimitSpring"; 347 static const char* ATTR_TWIST_HIGH_LIMIT_DAMPING = "twistHighLimitDamping"; 348 static const char* ATTR_LINEAR_LIMIT_VALUE = "linearLimitValue"; 349 static const char* ATTR_LINEAR_LIMIT_RESTITUTION = "linearLimitRestitution"; 350 static const char* ATTR_LINEAR_LIMIT_SPRING = "linearLimitSpring"; 351 static const char* ATTR_LINEAR_LIMIT_DAMPING = "linearLimitDamping"; 352 static const char* ATTR_DRIVE_DAMPING_SLERP = "driveDampingSlerp"; 353 static const char* ATTR_DRIVE_SPRING_SLERP = "driveSpringSlerp"; 354 static const char* ATTR_BREAKABLE_FORCE = "breakableForce"; 355 static const char* ATTR_MAX_FORCE = "maxForce"; 356 static const char* ATTR_BREAKABLE_TORQUE = "breakableTorque"; 357 static const char* ATTR_MAX_TORQUE = "maxTorque"; 358 static const char* ATTR_REVERSE = "reverse"; 359 static const char* ATTR_PROJECTION_MODE = "projectionMode"; 360 static const char* ATTR_PROJECTION_DISTANCE = "projectionDistance"; 361 static const char* ATTR_PROJECTION_ANGLE = "projectionAngle"; 362 static const char* ATTR_ANGULAR_DRIVE_MODE = "angularDriveMode"; 363 static const char* ATTR_INTERPENETRATE = "interpenetrate"; 364 static const char* ATTR_TARGET = "target"; 365 static const char* ATTR_SIMULATION_TYPE = "simulationType"; 366 static const char* ATTR_SWITCH_TO_DYNAMIC = "switchToDynamic"; 367 static const char* ATTR_SWITCH_AT_FRAME = "switchAtFrame"; 368 static const char* ATTR_ENABLE_GRAVITY = "enableGravity"; 369 static const char* ATTR_FORCE_TO_SLEEP = "forceToSleep"; 370 static const char* ATTR_OVERRIDE_MASS_OR_DENSITY = "overrideMassOrDensity"; 371 static const char* ATTR_DENSITY = "density"; 372 static const char* ATTR_BOUNCINESS = "bounciness"; 373 static const char* ATTR_STATIC_FRICTION = "staticFriction"; 374 static const char* ATTR_DYNAMIC_FRICTION = "dynamicFriction"; 375 static const char* ATTR_PHYSICS_SHAPES = "physicsShapes"; 376 static const char* ATTR_OVERRIDE_GLOBAL_ITERATION_COUNT = "overrideGlobalIterationCount"; 377 static const char* ATTR_POSITION_ITERATION_COUNT = "positionIterationCount"; 378 static const char* ATTR_VELOCITY_ITERATION_COUNT = "velocityIterationCount"; 379 static const char* ATTR_CONTACT_SHELL_OVERRIDE = "contactShellOverride"; 380 static const char* ATTR_CONTACT_SHELL_DEPTH = "contactShellDepth"; 381 static const char* ATTR_CONTACT_SHELL_OFFSET = "contactShellOffset"; 382 static const char* ATTR_SLEEP_THRESHOLDS_OVERRIDE = "sleepThesholdsOverride"; // Missing 'r' comes from a typo in attribute name (PhysX plugin) 383 static const char* ATTR_SLEEP_ENERGY_THRESHOLD = "sleepEnergyThreshold"; 384 static const char* ATTR_LINEAR_DAMPING = "linearDamping"; 385 static const char* ATTR_ANGULAR_DAMPING = "angularDamping"; 386 static const char* ATTR_CENTER_OF_MASS_MODE = "centerOfMassMode"; 387 static const char* ATTR_CENTER_OF_MASS_OVERRIDE = "centerOfMassOverride"; 388 static const char* ATTR_CENTER_OF_MASS_OVERRIDE_X = "centerOfMassOverrideX"; 389 static const char* ATTR_CENTER_OF_MASS_OVERRIDE_Y = "centerOfMassOverrideY"; 390 static const char* ATTR_CENTER_OF_MASS_OVERRIDE_Z = "centerOfMassOverrideZ"; 391 static const char* ATTR_INITIAL_POSITION = "initialPosition"; 392 static const char* ATTR_INITIAL_POSITION_X = "initialPositionX"; 393 static const char* ATTR_INITIAL_POSITION_Y = "initialPositionY"; 394 static const char* ATTR_INITIAL_POSITION_Z = "initialPositionZ"; 395 static const char* ATTR_INITIAL_ORIENTATION = "initialOrientation"; 396 static const char* ATTR_INITIAL_ORIENTATION_X = "initialOrientationX"; 397 static const char* ATTR_INITIAL_ORIENTATION_Y = "initialOrientationY"; 398 static const char* ATTR_INITIAL_ORIENTATION_Z = "initialOrientationZ"; 399 static const char* ATTR_INITIAL_VELOCITY = "initialVelocity"; 400 static const char* ATTR_INITIAL_VELOCITY_X = "initialVelocityX"; 401 static const char* ATTR_INITIAL_VELOCITY_Y = "initialVelocityY"; 402 static const char* ATTR_INITIAL_VELOCITY_Z = "initialVelocityZ"; 403 static const char* ATTR_INITIAL_SPIN = "initialSpin"; 404 static const char* ATTR_INITIAL_SPIN_X = "initialSpinX"; 405 static const char* ATTR_INITIAL_SPIN_Y = "initialSpinY"; 406 static const char* ATTR_INITIAL_SPIN_Z = "initialSpinZ"; 407 static const char* ATTR_ENABLE_CCD = "enableCCD"; 408 static const char* ATTR_CCD_MOTION_THRESHOLD = "CCDMotionThreshold"; 409 static const char* ATTR_HIDDEN_IN_OUTLINER = "hiddenInOutliner"; 410 static const char* ATTR_WIRE_COLOR_RGB = "wireColorRGB"; 411 static const char* ATTR_SHAPE_TYPE = "shapeType"; 412 static const char* ATTR_SIZE = "size"; 413 static const char* ATTR_RADIUS = "radius"; 414 static const char* ATTR_POINT_1 = "point1"; 415 static const char* ATTR_POINT_2 = "point2"; 416 static const char* ATTR_HEIGHT = "height"; 417 static const char* ATTR_BEST_FIT = "bestFit"; 418 static const char* ATTR_OUT_PHYSICS_SHAPE = "outPhysicsShape"; 419 static const char* ATTR_CONNECT_TO_CLOTH_SPHERE = "connectToClothSphere"; 420 static const char* ATTR_INFLATE = "inflate"; 421 static const char* ATTR_BOUNDING_BOX_SIZE = "boundingBoxSize"; 422 static const char* ATTR_USE_MASS_OR_DENSITY = "useMassOrDensity"; 423 static const char* ATTR_BOUNDING_BOX_MIN = "boundingBoxMin"; 424 static const char* ATTR_BOUNDING_BOX_MAX = "boundingBoxMax"; 425 static const char* ATTR_MOTION_TWIST = "motionTwist"; 426 static const char* ATTR_MOTION_SWING_Y = "motionSwingY"; 427 static const char* ATTR_MOTION_SWING_Z = "motionSwingZ"; 428 static const char* ATTR_TWIST_LOW_LIMIT_VALUE = "twistLowLimitValue"; 429 static const char* ATTR_TWIST_HIGH_LIMIT_VALUE = "twistHighLimitValue"; 430 static const char* ATTR_SWING_1_LIMIT_VALUE = "swing1LimitValue"; 431 static const char* ATTR_SWING_2_LIMIT_VALUE = "swing2LimitValue"; 432 static const char* ATTR_MOTION_X = "motionX"; 433 static const char* ATTR_MOTION_Y = "motionY"; 434 static const char* ATTR_MOTION_Z = "motionZ"; 435 static const char* ATTR_DRIVE_SPRING_X = "driveSpringX"; 436 static const char* ATTR_DRIVE_SPRING_Y = "driveSpringY"; 437 static const char* ATTR_DRIVE_SPRING_Z = "driveSpringZ"; 438 static const char* ATTR_DRIVE_DAMPING_X = "driveDampingX"; 439 static const char* ATTR_DRIVE_DAMPING_Y = "driveDampingY"; 440 static const char* ATTR_DRIVE_DAMPING_Z = "driveDampingZ"; 441 static const char* ATTR_DRIVE_SPRING_TWIST = "driveSpringTwist"; 442 static const char* ATTR_DRIVE_SPRING_SWING = "driveSpringSwing"; 443 static const char* ATTR_DRIVE_DAMPING_TWIST = "driveDampingTwist"; 444 static const char* ATTR_DRIVE_DAMPING_SWING = "driveDampingSwing"; 445 static const char* ATTR_GOAL_SPACE = "goalSpace"; 446 static const char* ATTR_GOAL_POSITION = "goalPosition"; 447 static const char* ATTR_GOAL_POSITION_X = "goalPositionX"; 448 static const char* ATTR_GOAL_POSITION_Y = "goalPositionY"; 449 static const char* ATTR_GOAL_POSITION_Z = "goalPositionZ"; 450 static const char* ATTR_GOAL_ORIENTATION = "goalOrientation"; 451 static const char* ATTR_GOAL_ORIENTATION_X = "goalOrientationX"; 452 static const char* ATTR_GOAL_ORIENTATION_Y = "goalOrientationY"; 453 static const char* ATTR_GOAL_ORIENTATION_Z = "goalOrientationZ"; 454 static const char* ATTR_GRAVITY = "gravity"; 455 static const char* ATTR_GRAVITY_MAGNITUDE = "gravityMagnitude"; 456 static const char* ATTR_GRAVITY_DIRECTION = "gravityDirection"; 457 static const char* SIMULATION_TYPE_STATIC = "Static"; 458 static const char* SIMULATION_TYPE_KINEMATIC = "Kinematic"; 459 static const char* SIMULATION_TYPE_DYNAMIC = "Dynamic"; 460 static const char* OVERRIDE_MASS_OR_DENSITY_DISABLED = "Disabled"; 461 static const char* OVERRIDE_MASS_OR_DENSITY_MASS = "Mass"; 462 static const char* OVERRIDE_MASS_OR_DENSITY_DENSITY = "Density"; 463 static const char* CENTER_OF_MASS_MODE_CALCULATE_FROM_SHAPES = "Calculate From Shapes"; 464 static const char* CENTER_OF_MASS_MODE_MANUAL_OVERRIDE = "Manual Override"; 465 static const char* SHAPE_TYPE_BOX = "Box"; 466 static const char* SHAPE_TYPE_SPHERE = "Sphere"; 467 static const char* SHAPE_TYPE_CAPSULE = "Capsule"; 468 static const char* SHAPE_TYPE_CONVEX_HULL = "Convex Hull"; 469 static const char* SHAPE_TYPE_TRIANGLE_MESH = "Triangle Mesh"; 470 static const char* SHAPE_TYPE_CLOTH_SPHERES = "ClothSpheres"; 471 static const char* USE_MASS_OR_DENSITY_MASS = "mass"; 472 static const char* USE_MASS_OR_DENSITY_DENSITY = "density"; 473 static const char* LOCKED = "locked"; 474 static const char* LIMITED = "limited"; 475 static const char* FREE = "free"; 476 static const char* CENTERED = "Centered"; 477 static const char* TARGET_ORIGIN = "Target Origin"; 478 static const String LOCAL_POSE = "localPose"; 479 static const String GROUND_PLANE_NAME = "groundPlane"; 480 static const String ATTR_USE_GROUND_PLANE = "useGroundPlane"; 481 static const String ATTR_GROUND_PLANE_POSITION = "groundPlanePosition"; 482 483 static const char* ATTR_ACTIVE = "active"; 484 static const char* ATTR_COLLISION_SHAPE = "collision_shape"; 485 static const char* ATTR_COLLISION_EXPORT_NODE = "export_node"; 486 487 /** Constants for light probes. */ 488 static const char* ATTR_LIGHT_PROBE = "light_probe"; 489 static const String CSW_ELEMENT_INSTANCE_LIGHT_PROBE = "instance_light_probe"; 490 static const String CSW_ELEMENT_LIGHT_PROBE = "light_probe"; 491 static const String CSW_ELEMENT_LIBRARY_LIGHT_PROBES = "library_light_probes"; 492 493 /** Shader constants */ 494 static const char* COLLADA_FX_SHADER = "colladafxShader"; 495 static const char* COLLADA_FX_PASSES = "colladafxPasses"; 496 497 /** ShaderFX constants */ 498 static const String SHADERFX_SHADER = "ShaderfxShader"; 499 static const String SHADERFX = "shaderfx"; 500 static const String SHADERFX_ATTRIBUTE = "attribute"; 501 static const String SHADERFX_TRUE = "true"; 502 static const String SHADERFX_FALSE = "false"; 503 static const String PARAM_TYPE_BOOL = "bool"; 504 static const String PARAM_TYPE_BYTE = "byte"; 505 static const String PARAM_TYPE_CHAR = "char"; 506 static const String PARAM_TYPE_SHORT = "short"; 507 static const String PARAM_TYPE_SHORT2 = "short2"; 508 static const String PARAM_TYPE_SHORT3 = "short3"; 509 static const String PARAM_TYPE_LONG = "long"; 510 static const String PARAM_TYPE_LONG2 = "long2"; 511 static const String PARAM_TYPE_LONG3 = "long3"; 512 static const String PARAM_TYPE_INT = "int"; 513 static const String PARAM_TYPE_INT2 = "int2"; 514 static const String PARAM_TYPE_INT3 = "int3"; 515 static const String PARAM_TYPE_FLOAT = "float"; 516 static const String PARAM_TYPE_FLOAT2 = "float2"; 517 static const String PARAM_TYPE_FLOAT3 = "float3"; 518 static const String PARAM_TYPE_DOUBLE = "double"; 519 static const String PARAM_TYPE_DOUBLE2 = "double2"; 520 static const String PARAM_TYPE_DOUBLE3 = "double3"; 521 static const String PARAM_TYPE_DOUBLE4 = "double4"; 522 static const String PARAM_TYPE_ENUM = "enum"; 523 static const String PARAM_TYPE_STRING = "string"; 524 525 // COLLADA 1.4 Max-specific profile 526 static const char* MAX_TARGET_CAMERA_PARAMETER = "target"; 527 static const char* MAX_ASPECTRATIO_LIGHT_PARAMETER = "aspect_ratio"; 528 static const char* MAX_TARGET_LIGHT_PARAMETER = "target"; 529 static const char* MAX_DEFAULT_TARGET_DIST_LIGHT_PARAMETER = "target_default_dist"; 530 static const char* MAX_OUTERCONE_LIGHT_PARAMETER = "outer_cone"; 531 static const char* MAX_OVERSHOOT_LIGHT_PARAMETER = "overshoot"; 532 static const char* MAX_SPECLEVEL_MATERIAL_PARAMETER = "spec_level"; 533 static const char* MAX_DISPLACEMENT_MATERIAL_PARAMETER = "displacement"; 534 static const char* MAX_EMISSIONLEVEL_MATERIAL_PARAMETER = "emission_level"; 535 static const char* MAX_FACETED_MATERIAL_PARAMETER = "faceted"; 536 static const char* MAX_FILTERCOLOR_MATERIAL_PARAMETER = "filter_color"; 537 static const char* MAX_INDEXOFREFRACTION_MATERIAL_PARAMETER = "index_of_refraction"; 538 static const char* MAX_USERPROPERTIES_NODE_PARAMETER = "user_properties"; 539 static const char* MAX_WIREFRAME_MATERIAL_PARAMETER = "wireframe"; 540 static const char* MAX_FACEMAP_MATERIAL_PARAMETER = "face_map"; 541 static const char* MAX_AMOUNT_TEXTURE_PARAMETER = "amount"; 542 static const char* MAX_BUMP_INTERP_TEXTURE_PARAMETER = "bumpInterp"; 543 static const char* MAX_CAMERA_TARGETDISTANCE_PARAMETER = "target_distance"; 544 static const char* MAX_FRAMERATE_PARAMETER = "frame_rate"; 545 546 } 547 548 549 #endif // __COLLADA_MAYA_SYNTAX_H__ 550