9 #ifndef __HOM_GeometryViewport_h__
10 #define __HOM_GeometryViewport_h__
49 virtual std::string
name() = 0;
50 virtual void changeName(std::string &
name) = 0;
52 virtual bool isVisible() = 0;
54 virtual void home() = 0;
56 virtual void homeAll() = 0;
57 virtual void homeSelected() = 0;
58 virtual void homeGrid() = 0;
59 virtual void homeNonTemplated() = 0;
60 virtual void homeBoundingBox(
HOM_BoundingBox *bbox,
bool center_to_origin =
false) = 0;
62 virtual void frameAll() = 0;
64 virtual void frameSelected() = 0;
65 virtual void frameGrid() = 0;
66 virtual void frameNonTemplated() = 0;
68 virtual void draw() = 0;
70 SWIGOUT(%newobject viewTransform;)
73 SWIGOUT(%newobject modelToGeometryTransform;)
74 virtual HOM_Matrix4 *modelToGeometryTransform() = 0;
75 SWIGOUT(%newobject cameraToModelTransform;)
77 SWIGOUT(%newobject ndcToCameraTransform;)
79 SWIGOUT(%newobject viewportToNDCTransform;)
81 SWIGOUT(%newobject windowToViewportTransform;)
82 virtual HOM_Matrix4 *windowToViewportTransform() = 0;
87 virtual std::vector<int> resolutionInPixels() = 0;
91 virtual std::string cameraPath() = 0;
92 virtual bool isViewingThroughExtraCamera() = 0;
93 virtual void setCamera(
HOM_ObjNode &camera_node) = 0;
94 virtual void setCamera(
HOM_OpNode &camera_node,
const char *
name) = 0;
95 virtual void setCamera(
const char *camera_path) = 0;
96 virtual void saveViewToCamera(
HOM_ObjNode &camera_node) = 0;
98 virtual void setCameraParms(
const char *cam_name,
101 SWIGOUT(%newobject defaultCamera;)
104 virtual void useDefaultCamera() =0;
106 virtual bool isCameraLockedToView() = 0;
107 virtual void lockCameraToView(
bool) = 0;
109 virtual bool isViewExportedToCameraContinuously() = 0;
110 virtual void exportViewToCameraContinuously(
bool) = 0;
112 virtual void tearOffCopy() = 0;
114 virtual bool isActive2D() = 0;
115 virtual bool isActive3D() = 0;
117 virtual bool usesConstructionPlane() = 0;
119 SWIGOUT(%newobject queryNodeAtPixel;)
120 virtual HOM_Node *queryNodeAtPixel(
int x,
int y,
bool pick_templates=
false) = 0;
121 SWIGOUT(%newobject queryPrimAtPixel;)
124 virtual std::vector<HOM_ElemPtr<HOM_Node>> _queryNodesInBox(
int x,
int y,
int w,
int h,
bool pick_templates=
false) = 0;
126 virtual std::vector<int> _queryPrimOnDrawables(
127 const std::vector<HOM_Drawable *> &drawables,
129 bool enable_occlusion,
130 bool handle_pick_radius =
false) = 0;
132 virtual std::vector<std::pair<int, HOM_ElemPtr<HOM_Selection> > >
133 _queryComponentsOnDrawables(
134 const std::vector<HOM_Drawable *> &drawables,
136 bool enable_occlusion =
false,
137 bool contained =
false) = 0;
139 SWIGOUT(%newobject queryInspectedGeometry;)
141 SWIGOUT(%newobject queryInspectedPrim;)
142 virtual HOM_Prim *queryInspectedPrim() = 0;
145 mapToWorld(
double x,
double y) = 0;
149 virtual std::pair<int, int> mapFromMouseChop(
double x,
double y) = 0;
152 queryWorldPositionAndNormal(
int x,
int y,
154 HOM_snapSelectionMode::SnapToAll)=0;
156 virtual std::vector<int>
size() = 0;
157 virtual std::vector<int> geometry() = 0;
158 virtual bool isFloating() = 0;
161 virtual void addOpaqueEventCallback(
void *callback) = 0;
163 virtual void removeOpaqueEventCallback(
void *callback) = 0;
165 virtual std::vector<void *> opaqueEventCallbacks() = 0;
167 virtual void clearOpaqueEventCallbacks() = 0;
169 virtual void _captureFramebuffer(std::string
const &buffer_name,
176 void addEventCallback(InterpreterObject callback)
178 self->addOpaqueEventCallback(callback);
181 void removeEventCallback(InterpreterObject callback)
183 self->removeOpaqueEventCallback(callback);
186 void clearEventCallbacks()
188 self->clearOpaqueEventCallbacks();
191 std::vector<InterpreterObject> eventCallbacks()
193 std::vector<void *> opaque_callbacks(self->opaqueEventCallbacks());
195 std::vector<InterpreterObject> callbacks;
196 for (
int i = 0; i< opaque_callbacks.size(); ++i)
197 callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
#define HOM_DESTRUCT_OBJECT(pointer)
GT_API const UT_StringHolder filename
string __repr__(VtArray< T > const &self)
std::tuple< Types...> UT_Tuple
GLint GLint GLsizei GLint GLenum GLenum type
void ignore(T const &) VULKAN_HPP_NOEXCEPT
#define HOM_CONSTRUCT_OBJECT(pointer)
GLuint const GLchar * name
virtual ~HOM_GeometryViewport()
GLfloat GLfloat GLfloat GLfloat h
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_GeometryViewport(const HOM_GeometryViewport &)
GLubyte GLubyte GLubyte GLubyte w