mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
general: don't cast to regular pointer when returning a PointerTo
This is inefficient because it induces an unnecessary ref()/unref() pair when we just need to move the pointer out of the function. Thanks to 23128e4695d2e8581551be161f20cf7d53ca87b5, we can now move between related pointer types, making the .p() hack unnecessary.
This commit is contained in:
parent
23128e4695
commit
c6ed4e1836
@ -157,7 +157,7 @@ compute_internal_bounds() const {
|
||||
LPoint3(0.01, 0, max_z), LPoint3(-0.01, 0, max_z));
|
||||
// And convert that back into real space.
|
||||
volume->xform(from_parabola);
|
||||
return volume.p();
|
||||
return volume;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -271,9 +271,9 @@ get_viz(const CullTraverser *trav, const CullTraverserData &data,
|
||||
draw_polygon(viz_geom_node, bounds_viz_geom_node, new_points);
|
||||
|
||||
if (bounds_only) {
|
||||
return bounds_viz_geom_node.p();
|
||||
return bounds_viz_geom_node;
|
||||
} else {
|
||||
return viz_geom_node.p();
|
||||
return viz_geom_node;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -131,7 +131,7 @@ compute_internal_bounds() const {
|
||||
LPoint3(0.01, -0.01, 0.01), LPoint3(-0.01, -0.01, 0.01));
|
||||
|
||||
volume->xform(from_segment);
|
||||
return volume.p();
|
||||
return volume;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -146,9 +146,9 @@ get_viz(const CullTraverser *, const CullTraverserData &, bool bounds_only) cons
|
||||
}
|
||||
|
||||
if (bounds_only) {
|
||||
return _bounds_viz_geom.p();
|
||||
return _bounds_viz_geom;
|
||||
} else {
|
||||
return _viz_geom.p();
|
||||
return _viz_geom;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@ make_virtual_file(const Filename &local_filename,
|
||||
new VirtualFileHTTP(this, local_filename, implicit_pz_file, open_flags);
|
||||
vfile->set_original_filename(original_filename);
|
||||
|
||||
return vfile.p();
|
||||
return vfile;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -846,7 +846,7 @@ make_device(void *scrn) {
|
||||
_device = device;
|
||||
wdxdisplay9_cat.info() << "walla: device" << device << "\n";
|
||||
|
||||
return device.p();
|
||||
return device;
|
||||
}
|
||||
|
||||
pmap<D3DFORMAT_FLAG, D3DFORMAT> g_D3DFORMATmap;
|
||||
|
@ -58,7 +58,7 @@ make_virtual_file(const Filename &local_filename,
|
||||
make_directory(local);
|
||||
}
|
||||
|
||||
return file.p();
|
||||
return file;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -60,7 +60,7 @@ open() {
|
||||
ffmpeg_cat.error() << "Could not open " << _filename << "\n";
|
||||
return nullptr;
|
||||
} else {
|
||||
return result.p();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -446,7 +446,7 @@ fetch_buffer() {
|
||||
<< " at frame " << _current_frame << ", returning NULL\n";
|
||||
}
|
||||
}
|
||||
return frame.p();
|
||||
return frame;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -455,7 +455,7 @@ fetch_buffer() {
|
||||
PT(MovieVideoCursor::Buffer) FfmpegVideoCursor::
|
||||
make_new_buffer() {
|
||||
PT(FfmpegBuffer) frame = new FfmpegBuffer(size_x() * size_y() * get_num_components(), _video_timebase);
|
||||
return frame.p();
|
||||
return frame;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1334,7 +1334,7 @@ load_image_as_model(const Filename &filename) {
|
||||
|
||||
card_node->add_geom(geom);
|
||||
|
||||
return card_node.p();
|
||||
return card_node;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -128,7 +128,7 @@ make_adjacency() const {
|
||||
}
|
||||
|
||||
adj->set_vertices(std::move(new_vertices));
|
||||
return adj.p();
|
||||
return adj;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -164,7 +164,7 @@ make_adjacency() const {
|
||||
}
|
||||
nassertr(vi == num_vertices, nullptr);
|
||||
|
||||
return adj.p();
|
||||
return adj;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -220,7 +220,7 @@ decompose_impl() const {
|
||||
// Skip unused vertices between tristrips.
|
||||
vi += num_unused;
|
||||
int end = ends[li];
|
||||
nassertr(vi + 1 <= end, lines.p());
|
||||
nassertr(vi + 1 <= end, lines);
|
||||
int v0 = get_vertex(vi);
|
||||
++vi;
|
||||
while (vi < end) {
|
||||
@ -235,7 +235,7 @@ decompose_impl() const {
|
||||
}
|
||||
nassertr(vi == get_num_vertices(), nullptr);
|
||||
|
||||
return lines.p();
|
||||
return lines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -142,7 +142,7 @@ decompose_impl() const {
|
||||
// Skip unused vertices between tristrips.
|
||||
vi += num_unused;
|
||||
int end = ends[li];
|
||||
nassertr(vi + 3 <= end, lines.p());
|
||||
nassertr(vi + 3 <= end, lines);
|
||||
int v0 = from.get_vertex(vi++);
|
||||
int v1 = from.get_vertex(vi++);
|
||||
int v2 = from.get_vertex(vi++);
|
||||
@ -160,7 +160,7 @@ decompose_impl() const {
|
||||
}
|
||||
nassertr(vi == num_vertices, nullptr);
|
||||
|
||||
return lines.p();
|
||||
return lines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -55,7 +55,7 @@ GeomPrimitive() {
|
||||
*/
|
||||
PT(CopyOnWriteObject) GeomPrimitive::
|
||||
make_cow_copy() {
|
||||
return make_copy().p();
|
||||
return make_copy();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -138,7 +138,7 @@ make_adjacency() const {
|
||||
}
|
||||
|
||||
adj->set_vertices(std::move(new_vertices));
|
||||
return adj.p();
|
||||
return adj;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -199,7 +199,7 @@ doubleside_impl() const {
|
||||
reversed = (GeomTriangles *)DCAST(GeomTriangles, reversed->rotate());
|
||||
}
|
||||
|
||||
return reversed.p();
|
||||
return reversed;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -232,7 +232,7 @@ reverse_impl() const {
|
||||
break;
|
||||
}
|
||||
|
||||
return reversed.p();
|
||||
return reversed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -133,7 +133,7 @@ doubleside_impl() const {
|
||||
reversed = (GeomTrianglesAdjacency *)DCAST(GeomTrianglesAdjacency, reversed->rotate());
|
||||
}
|
||||
|
||||
return reversed.p();
|
||||
return reversed;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -166,7 +166,7 @@ reverse_impl() const {
|
||||
break;
|
||||
}
|
||||
|
||||
return reversed.p();
|
||||
return reversed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -110,7 +110,7 @@ decompose_impl() const {
|
||||
int li = 0;
|
||||
while (li < (int)ends.size()) {
|
||||
int end = ends[li];
|
||||
nassertr(vi + 2 <= end, triangles.p());
|
||||
nassertr(vi + 2 <= end, triangles);
|
||||
int v0 = get_vertex(vi);
|
||||
++vi;
|
||||
int v1 = get_vertex(vi);
|
||||
@ -129,7 +129,7 @@ decompose_impl() const {
|
||||
|
||||
nassertr(vi == num_vertices, nullptr);
|
||||
|
||||
return triangles.p();
|
||||
return triangles;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -219,7 +219,7 @@ make_adjacency() const {
|
||||
}
|
||||
nassertr(vi == num_vertices, nullptr);
|
||||
|
||||
return adj.p();
|
||||
return adj;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -358,7 +358,7 @@ decompose_impl() const {
|
||||
nassertr(vi == num_vertices, nullptr);
|
||||
}
|
||||
|
||||
return triangles.p();
|
||||
return triangles;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -76,7 +76,7 @@ make(PyStringObject *str) {
|
||||
iname->ref();
|
||||
|
||||
InternalName::_py_intern_table.insert(std::make_pair((PyObject *)str, iname.p()));
|
||||
return iname.p();
|
||||
return iname;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -630,7 +630,7 @@ make_geometry() {
|
||||
PT(Geom) geom = new Geom(cdata->_geom_data);
|
||||
geom->add_primitive(line);
|
||||
|
||||
return geom.p();
|
||||
return geom;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3417,8 +3417,7 @@ parse_eof() {
|
||||
*/
|
||||
PT(AsyncFuture) Shader::
|
||||
prepare(PreparedGraphicsObjects *prepared_objects) {
|
||||
PT(PreparedGraphicsObjects::EnqueuedObject) obj = prepared_objects->enqueue_shader_future(this);
|
||||
return obj.p();
|
||||
return prepared_objects->enqueue_shader_future(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1427,8 +1427,7 @@ peek() {
|
||||
*/
|
||||
PT(AsyncFuture) Texture::
|
||||
prepare(PreparedGraphicsObjects *prepared_objects) {
|
||||
PT(PreparedGraphicsObjects::EnqueuedObject) obj = prepared_objects->enqueue_texture_future(this);
|
||||
return obj.p();
|
||||
return prepared_objects->enqueue_texture_future(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -133,7 +133,7 @@ generate() {
|
||||
|
||||
gnode->add_geom(geom, state);
|
||||
|
||||
return gnode.p();
|
||||
return gnode;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -322,7 +322,7 @@ generate() {
|
||||
}
|
||||
}
|
||||
|
||||
return geom_node.p();
|
||||
return geom_node;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -409,7 +409,7 @@ make_copy_impl() const {
|
||||
CDWriter cdata_copy(copy->_cycler, true);
|
||||
copy->do_assign(cdata_copy, cdata_copy_tex, this, cdata, cdata_tex);
|
||||
|
||||
return copy.p();
|
||||
return copy;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -40,7 +40,7 @@ munge_state(const RenderState *state) {
|
||||
}
|
||||
|
||||
CPT(RenderState) result = munge_state_impl(state);
|
||||
munged_states.store(id, result.p());
|
||||
munged_states.store(id, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -257,7 +257,7 @@ generate_flat_geom(const LVecBase4 &frame) {
|
||||
geom->add_primitive(strip);
|
||||
gnode->add_geom(geom, state);
|
||||
|
||||
return gnode.p();
|
||||
return gnode;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -431,7 +431,7 @@ generate_bevel_geom(const LVecBase4 &frame, bool in) {
|
||||
}
|
||||
gnode->add_geom(geom, state);
|
||||
|
||||
return gnode.p();
|
||||
return gnode;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -663,7 +663,7 @@ generate_groove_geom(const LVecBase4 &frame, bool in) {
|
||||
}
|
||||
gnode->add_geom(geom, state);
|
||||
|
||||
return gnode.p();
|
||||
return gnode;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -803,5 +803,5 @@ generate_texture_border_geom(const LVecBase4 &frame) {
|
||||
geom->add_primitive(strip);
|
||||
gnode->add_geom(geom, state);
|
||||
|
||||
return gnode.p();
|
||||
return gnode;
|
||||
}
|
||||
|
@ -68,5 +68,5 @@ load_file(const Filename &path, const LoaderOptions &,
|
||||
PT(SpeedTreeNode) st = new SpeedTreeNode(path.get_basename());
|
||||
st->add_instance(tree, STTransform());
|
||||
|
||||
return st.p();
|
||||
return st;
|
||||
}
|
||||
|
@ -62,5 +62,5 @@ load_file(const Filename &path, const LoaderOptions &options,
|
||||
PT(SpeedTreeNode) st = new SpeedTreeNode(path.get_basename());
|
||||
st->add_from_stf(path, options);
|
||||
|
||||
return st.p();
|
||||
return st;
|
||||
}
|
||||
|
@ -755,7 +755,7 @@ make_frame() {
|
||||
frame_node->add_geom(geom2, state);
|
||||
}
|
||||
|
||||
return frame_node.p();
|
||||
return frame_node;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -795,7 +795,7 @@ make_card() {
|
||||
|
||||
card_node->add_geom(geom);
|
||||
|
||||
return card_node.p();
|
||||
return card_node;
|
||||
}
|
||||
|
||||
|
||||
@ -896,7 +896,7 @@ make_card_with_border() {
|
||||
|
||||
card_node->add_geom(geom);
|
||||
|
||||
return card_node.p();
|
||||
return card_node;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -98,7 +98,7 @@ make_copy_impl() const {
|
||||
Texture::CDWriter cdata_copy_tex(copy->Texture::_cycler, true);
|
||||
copy->do_assign(cdata_copy_tex, this, cdata_tex);
|
||||
|
||||
return copy.p();
|
||||
return copy;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -196,7 +196,7 @@ load_file(const Filename &path, const LoaderOptions &options,
|
||||
}
|
||||
delete loader;
|
||||
|
||||
return result.p();
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -376,7 +376,7 @@ unpack_template_value(const XFileParseDataList &parse_data_list,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return data_value.p();
|
||||
return data_value;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user