12 #ifndef GR_InstanceManager_h
13 #define GR_InstanceManager_h
50 {
return myIsActive && myInteractiveMode; }
56 void queueUncullableDraw(
int num_gl_prims);
59 int newDrawRequestID();
60 void returnDrawRequestID(
int draw_id);
81 void queueInstanceDrawRequest(
const RE_Render *
r,
96 bool all_selected =
false);
97 void queueNestedInstanceDrawRequest(
const RE_Render *
r,
113 bool all_selected =
false);
120 void queuePartialInstanceDrawRequest(
const RE_Render *
r,
136 bool all_selected =
false);
141 void queuePartialNestedInstanceRequest(
const RE_Render *
r,
158 bool all_selected =
false);
161 int newBBoxRequestID();
162 void returnBBoxRequestID(
int bbox_id);
184 bool all_selected =
false);
188 void queuePartialBBoxDraw(
199 bool all_selected =
false);
216 gr_DrawRequestResult getDrawRequestResult(
int draw_id,
231 bool determineBBoxMode(
bool wire_req)
const;
267 : num_prims(np), single_inst(si), instances(insts), bbox(&bb),
268 visible_instances(vi), visible_result(vr), selected(false),
269 result(ERROR_NOT_PROCESSED), rmode(rm), rflags(rf), dparms(dp),
270 pass_id(passid), colors(nullptr),
color(nullptr),
271 nest_counts(nullptr), selected_prims(nullptr), wireframe(false),
272 visible_range(nullptr) {}
274 : dparms(nullptr, nullptr, nullptr, -1, -1, false, 0, 0,0,0),
275 pass_id(-1), num_prims(0), single_inst(nullptr),
276 instances(nullptr), bbox(nullptr), nest_counts(nullptr),
277 visible_instances(nullptr), visible_result(nullptr),
278 selected_prims(nullptr),
color(nullptr), visible_range(nullptr) {}
311 : single_inst(si),instances(insts),bbox(&bb),visible_instances(vi),
312 offset(0), bucket(0), pass_id(passid), selected_prims(nullptr),
313 colors(nullptr), selected(false), wireframe(false),
314 color(nullptr), nest_counts(nesting)
317 : single_inst(nullptr),instances(nullptr),bbox(nullptr),
318 visible_instances(nullptr),
offset(0), bucket(0), pass_id(-1),
319 selected_prims(nullptr),colors(nullptr), selected(false),
320 wireframe(false),
color(nullptr), nest_counts(nullptr)
345 :
z(_z), draw_id(did), draw_index(didx) {}
359 NUM_BBOX_SHADING_MODES = 4,
360 NUM_BBOX_COLOR_MODES = 2
376 bool myInteractiveMode;
389 friend class GUI_SceneFeel;
const UT_Array< uint8 > * selected_prims
GT_DataArrayHandle prim_ids
const UT_Vector3FArray * colors
const UT_Matrix4D * single_inst
const UT_IntArray * nest_counts
gr_DrawEntry(fpreal32 _z, int did, int didx)
const UT_IntArray * visible_instances
const UT_Array< uint8 > * selected_prims
gr_DrawRequestResult result
GLdouble GLdouble GLdouble z
const UT_BoundingBox * bbox
const UT_Matrix4DArray * instances
UT_IntArray * visible_result
**But if you need a result
const UT_Matrix4D * single_inst
const UT_IntArray * nest_counts
const UT_Matrix4DArray * instances
UT_Vector2i * visible_range
OPENVDB_API void initialize()
Global registration of native Grid, Transform, Metadata and Point attribute types. Also initializes blosc (if enabled).
const UT_Vector3FArray * colors
void allowBBoxReplacement(bool allow)
gr_DrawRequest(int np, const UT_Matrix4D *si, const UT_Matrix4DArray *insts, const UT_BoundingBox &bb, const UT_IntArray *vi, UT_IntArray *vr, GR_RenderMode rm, GR_RenderFlags rf, GR_DrawParms dp, int passid)
bool canQueueRequests() const
const UT_BoundingBox * bbox
GT_DataArrayHandle prim_ids
gr_BBoxRequest(const UT_Matrix4D *si, const UT_Matrix4DArray *insts, const UT_IntArray *nesting, const UT_BoundingBox &bb, const UT_IntArray *vi, int passid)
const UT_IntArray * visible_instances