David Rose 17 years ago
parent
commit
ccacdcd5bb
1 changed files with 49 additions and 0 deletions
  1. 49 0
      pandatool/src/maya/maya_funcs.T

+ 49 - 0
pandatool/src/maya/maya_funcs.T

@@ -3,3 +3,52 @@
 //
 ////////////////////////////////////////////////////////////////////
 //
+// PANDA 3D SOFTWARE
+// Copyright (c) Carnegie Mellon University.  All rights reserved.
+//
+// All use of this software is subject to the terms of the revised BSD
+// license.  You should have received a copy of this license along
+// with this source code in a file named "LICENSE."
+//
+////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////
+//     Function: get_maya_attribute
+//  Description: A generic function to extract an attribute of some
+//               type from an MObject.  This is used to implement
+//               get_bool_attribute(), etc.
+////////////////////////////////////////////////////////////////////
+template<class ValueType>
+bool
+get_maya_attribute(MObject &node, const string &attribute_name,
+                   ValueType &value) {
+  bool status = false;
+
+  MPlug plug;
+  if (get_maya_plug(node, attribute_name, plug)) {
+    status = plug.getValue(value);
+  }
+
+  return status;
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: set_maya_attribute
+//  Description: A generic function to set an attribute of some
+//               type on an MObject.  This is used to implement
+//               set_bool_attribute(), etc.
+////////////////////////////////////////////////////////////////////
+template<class ValueType>
+bool
+set_maya_attribute(MObject &node, const string &attribute_name,
+                   ValueType &value) {
+  bool status = false;
+
+  MPlug plug;
+  if (get_maya_plug(node, attribute_name, plug)) {
+    status = plug.setValue(value);
+  }
+
+  return status;
+}