00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_ObjNode_h__
00017 #define __HOM_ObjNode_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_Node.h"
00023 class HOM_Geometry;
00024 class HOM_Point;
00025 class HOM_Matrix4;
00026 class HOM_Vector3;
00027
00028 SWIGOUT(%rename(ObjNode) HOM_ObjNode;)
00029
00030 class HOM_API HOM_ObjNode : virtual public HOM_Node
00031 {
00032 public:
00033 HOM_ObjNode()
00034 { HOM_CONSTRUCT_OBJECT(this) }
00035 HOM_ObjNode(const HOM_ObjNode &obj_node)
00036 : HOM_Node(obj_node)
00037 { HOM_CONSTRUCT_OBJECT(this) }
00038 virtual ~HOM_ObjNode()
00039 { HOM_DESTRUCT_OBJECT(this) }
00040
00041
00042
00043 SWIGOUT(virtual std::string __repr__()
00044 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;)
00045
00046
00047 SWIGOUT(%newobject origin;)
00048 virtual HOM_Vector3 *origin()
00049 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00050
00051 SWIGOUT(%newobject worldTransform;)
00052 virtual HOM_Matrix4 *worldTransform()
00053 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00054
00055 SWIGOUT(%kwargs setWorldTransform;)
00056 virtual void setWorldTransform(
00057 HOM_Matrix4 &matrix, bool fail_on_locked_parms = false)
00058 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00059
00060 virtual void setCookTransform(HOM_Matrix4 &matrix)
00061 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00062
00063 SWIGOUT(%newobject parmTransform;)
00064 virtual HOM_Matrix4 *parmTransform()
00065 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00066
00067 SWIGOUT(%kwargs setParmTransform;)
00068 virtual void setParmTransform(
00069 HOM_Matrix4 &matrix, bool fail_on_locked_parms = false)
00070 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00071
00072 SWIGOUT(%newobject preTransform;)
00073 virtual HOM_Matrix4 *preTransform()
00074 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00075
00076 virtual void setPreTransform(HOM_Matrix4 &matrix)
00077 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00078
00079 virtual void movePreTransformIntoParmTransform()
00080 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00081
00082 virtual void moveParmTransformIntoPreTransform()
00083 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00084 virtual void moveParmTranslateIntoPreTransform()
00085 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00086 virtual void moveParmRotateIntoPreTransform()
00087 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00088 virtual void moveParmScaleIntoPreTransform()
00089 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00090
00091 virtual HOM_Matrix4 *parentAndSubnetTransform()
00092 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00093
00094 SWIGOUT(%newobject getTransformToNode;)
00095 virtual HOM_Matrix4 *getTransformToNode(HOM_ObjNode &obj_node)
00096 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00097
00098 SWIGOUT(%newobject getTransformFromPointToPoint;)
00099 virtual HOM_Matrix4 *getTransformFromPointToPoint(
00100 HOM_Vector3 &pos3, HOM_ObjNode &other_node,
00101 HOM_Vector3 &other_pos3)
00102 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00103
00104 SWIGOUT(%newobject buildLookatRotation;)
00105 virtual HOM_Matrix4 *buildLookatRotation(HOM_ObjNode &to_node,
00106 HOM_Vector3 *up_vector = NULL)
00107 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00108
00109 virtual bool isObjectDisplayed()
00110 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00111
00112 virtual bool isDisplayFlagSet()
00113 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00114 virtual void setDisplayFlag(bool on)
00115 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00116 virtual bool isSelectableInViewport()
00117 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00118 virtual void setSelectableInViewport(bool on)
00119 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00120 virtual bool isShowingOrigin()
00121 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00122 virtual void showOrigin(bool on)
00123 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00124 virtual bool isUsingXray()
00125 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00126 virtual void useXray(bool on)
00127 throw(HOM_PermissionError, HOM_ObjectWasDeleted, HOM_Error) = 0;
00128
00129 SWIGPYTHONOUT(%feature("autodoc",
00130 "displayNode(self) -> Node or None") displayNode;)
00131 SWIGOUT(%newobject displayNode;)
00132 virtual HOM_Node *displayNode()
00133 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00134
00135 SWIGPYTHONOUT(%feature("autodoc",
00136 "renderNode(self) -> Node or None") renderNode;)
00137 SWIGOUT(%newobject renderNode;)
00138 virtual HOM_Node *renderNode()
00139 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00140
00141 virtual void combine(const std::vector<HOM_Node *> &nodes)
00142 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_TypeError,
00143 HOM_Error) = 0;
00144 };
00145
00146 #endif