mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 18:03:56 -04:00
Geom now accepts a GeomVertexData in the constructor
This commit is contained in:
parent
74b498d355
commit
95f9d58591
@ -328,8 +328,7 @@ fill_viz_geom() {
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
_viz_geom->add_geom(geom, get_solid_viz_state());
|
||||
|
@ -100,8 +100,7 @@ fill_viz_geom() {
|
||||
line->add_next_vertices(num_points);
|
||||
line->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(line);
|
||||
|
||||
_viz_geom->add_geom(geom, get_other_viz_state());
|
||||
|
@ -343,12 +343,10 @@ fill_viz_geom() {
|
||||
border->add_vertex(0);
|
||||
border->close_primitive();
|
||||
|
||||
PT(Geom) geom1 = new Geom;
|
||||
geom1->set_vertex_data(vdata);
|
||||
PT(Geom) geom1 = new Geom(vdata);
|
||||
geom1->add_primitive(body);
|
||||
|
||||
PT(Geom) geom2 = new Geom;
|
||||
geom2->set_vertex_data(vdata);
|
||||
PT(Geom) geom2 = new Geom(vdata);
|
||||
geom2->add_primitive(border);
|
||||
|
||||
_viz_geom->add_geom(geom1, get_solid_viz_state());
|
||||
|
@ -831,12 +831,10 @@ draw_polygon(GeomNode *viz_geom_node, GeomNode *bounds_viz_geom_node,
|
||||
border->add_vertex(0);
|
||||
border->close_primitive();
|
||||
|
||||
PT(Geom) geom1 = new Geom;
|
||||
geom1->set_vertex_data(vdata);
|
||||
PT(Geom) geom1 = new Geom(vdata);
|
||||
geom1->add_primitive(body);
|
||||
|
||||
PT(Geom) geom2 = new Geom;
|
||||
geom2->set_vertex_data(vdata);
|
||||
PT(Geom) geom2 = new Geom(vdata);
|
||||
geom2->add_primitive(border);
|
||||
|
||||
viz_geom_node->add_geom(geom1, ((CollisionPolygon *)this)->get_solid_viz_state());
|
||||
|
@ -172,8 +172,7 @@ fill_viz_geom() {
|
||||
line->add_next_vertices(num_points);
|
||||
line->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(line);
|
||||
|
||||
_viz_geom->add_geom(geom, get_other_viz_state());
|
||||
|
@ -170,8 +170,7 @@ fill_viz_geom() {
|
||||
line->add_next_vertices(2);
|
||||
line->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(line);
|
||||
|
||||
_viz_geom->add_geom(geom, get_other_viz_state());
|
||||
|
@ -347,8 +347,7 @@ fill_viz_geom() {
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
_viz_geom->add_geom(geom, get_solid_viz_state());
|
||||
|
@ -428,8 +428,7 @@ fill_viz_geom() {
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
// Now transform the vertices to their actual location.
|
||||
|
@ -206,8 +206,7 @@ cull_callback(CullTraverser *trav, CullTraverserData &data) {
|
||||
points->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(point_vdata);
|
||||
PT(Geom) geom = new Geom(point_vdata);
|
||||
geom->add_primitive(points);
|
||||
|
||||
CullableObject *object =
|
||||
@ -235,8 +234,7 @@ cull_callback(CullTraverser *trav, CullTraverserData &data) {
|
||||
lines->add_next_vertices(2);
|
||||
lines->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(line_vdata);
|
||||
PT(Geom) geom = new Geom(line_vdata);
|
||||
geom->add_primitive(lines);
|
||||
|
||||
CullableObject *object =
|
||||
|
@ -253,8 +253,7 @@ generate_screen(const NodePath &projector, const string &screen_name,
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
geom_node->add_geom(geom);
|
||||
|
@ -354,8 +354,7 @@ make_polyset(EggBin *egg_bin, PandaNode *parent, const LMatrix4d *transform,
|
||||
nassertv(vertex_data != (GeomVertexData *)NULL);
|
||||
|
||||
// And create a Geom to hold the primitives.
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vertex_data);
|
||||
PT(Geom) geom = new Geom(vertex_data);
|
||||
|
||||
// Add each new primitive to the Geom.
|
||||
Primitives::const_iterator pi;
|
||||
@ -566,8 +565,7 @@ show_normals(EggVertexPool *vertex_pool, GeomNode *geom_node) {
|
||||
}
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vertex_data);
|
||||
PT(Geom) geom = new Geom(vertex_data);
|
||||
geom->add_primitive(primitive);
|
||||
geom_node->add_geom(geom);
|
||||
}
|
||||
|
@ -645,8 +645,7 @@ load_default_model(const NodePath &parent) {
|
||||
tri->add_consecutive_vertices(0, 3);
|
||||
tri->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(tri);
|
||||
|
||||
geomnode->add_geom(geom, state);
|
||||
@ -1034,8 +1033,7 @@ load_image_as_model(const Filename &filename) {
|
||||
strip->add_consecutive_vertices(0, 4);
|
||||
strip->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
card_node->add_geom(geom);
|
||||
|
@ -35,7 +35,8 @@ TypeHandle Geom::_type_handle;
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
Geom::
|
||||
Geom() {
|
||||
Geom(const GeomVertexData *data) {
|
||||
set_vertex_data(data);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -1067,7 +1068,7 @@ write_datagram(BamWriter *manager, Datagram &dg) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
TypedWritable *Geom::
|
||||
make_from_bam(const FactoryParams ¶ms) {
|
||||
Geom *object = new Geom;
|
||||
Geom *object = new Geom(NULL);
|
||||
DatagramIterator scan;
|
||||
BamReader *manager;
|
||||
|
||||
|
@ -53,7 +53,7 @@ class PreparedGraphicsObjects;
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDA Geom : public TypedWritableReferenceCount, public BoundedObject, public GeomEnums {
|
||||
PUBLISHED:
|
||||
Geom();
|
||||
Geom(const GeomVertexData *data);
|
||||
Geom(const Geom ©);
|
||||
void operator = (const Geom ©);
|
||||
virtual ~Geom();
|
||||
|
@ -956,8 +956,7 @@ make_geometry() {
|
||||
line->add_vertex(num_segments * (4 * 2) + 1);
|
||||
line->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(_geom_data);
|
||||
PT(Geom) geom = new Geom(_geom_data);
|
||||
geom->add_primitive(line);
|
||||
|
||||
return geom.p();
|
||||
|
@ -115,8 +115,7 @@ generate() {
|
||||
strip->add_next_vertices(4);
|
||||
strip->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
gnode->add_geom(geom);
|
||||
|
@ -256,14 +256,12 @@ create(GeomNode *previous, bool dynamic) {
|
||||
}
|
||||
|
||||
if (lines->get_num_vertices() != 0) {
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(_created_data);
|
||||
PT(Geom) geom = new Geom(_created_data);
|
||||
geom->add_primitive(lines);
|
||||
previous->add_geom(geom, state);
|
||||
}
|
||||
if (points->get_num_vertices() != 0) {
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(_created_data);
|
||||
PT(Geom) geom = new Geom(_created_data);
|
||||
geom->add_primitive(points);
|
||||
previous->add_geom(geom, state);
|
||||
}
|
||||
|
@ -350,8 +350,7 @@ render_thread(CullTraverser *trav, CullTraverserData &data,
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CPT(RenderAttrib) thick = RenderModeAttrib::make(RenderModeAttrib::M_unchanged, get_thickness());
|
||||
@ -396,8 +395,7 @@ render_tape(CullTraverser *trav, CullTraverserData &data,
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CullableObject *object = new CullableObject(geom, data._state,
|
||||
@ -446,8 +444,7 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CullableObject *object = new CullableObject(geom, data._state,
|
||||
@ -503,8 +500,7 @@ render_tube(CullTraverser *trav, CullTraverserData &data,
|
||||
vi += (int)segment.size();
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CullableObject *object = new CullableObject(geom, data._state,
|
||||
|
@ -326,8 +326,7 @@ render_sheet(CullTraverser *trav, CullTraverserData &data,
|
||||
}
|
||||
}
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CullableObject *object = new CullableObject(geom, data._state,
|
||||
|
@ -133,12 +133,11 @@ resize_pool(int new_size) {
|
||||
|
||||
void LineParticleRenderer::
|
||||
init_geoms() {
|
||||
PT(Geom) geom = new Geom;
|
||||
_line_primitive = geom;
|
||||
_vdata = new GeomVertexData
|
||||
("particles", GeomVertexFormat::get_v3cp(),
|
||||
Geom::UH_dynamic);
|
||||
geom->set_vertex_data(_vdata);
|
||||
PT(Geom) geom = new Geom(_vdata);
|
||||
_line_primitive = geom;
|
||||
_lines = new GeomLines(Geom::UH_dynamic);
|
||||
geom->add_primitive(_lines);
|
||||
|
||||
|
@ -108,12 +108,11 @@ resize_pool(int new_size) {
|
||||
|
||||
void PointParticleRenderer::
|
||||
init_geoms() {
|
||||
PT(Geom) geom = new Geom;
|
||||
_point_primitive = geom;
|
||||
_vdata = new GeomVertexData
|
||||
("particles", GeomVertexFormat::get_v3cp(),
|
||||
Geom::UH_dynamic);
|
||||
geom->set_vertex_data(_vdata);
|
||||
PT(Geom) geom = new Geom(_vdata);
|
||||
_point_primitive = geom;
|
||||
_points = new GeomPoints(Geom::UH_dynamic);
|
||||
geom->add_primitive(_points);
|
||||
|
||||
|
@ -129,12 +129,11 @@ resize_pool(int new_size) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void SparkleParticleRenderer::
|
||||
init_geoms() {
|
||||
PT(Geom) geom = new Geom;
|
||||
_line_primitive = geom;
|
||||
_vdata = new GeomVertexData
|
||||
("particles", GeomVertexFormat::get_v3cp(),
|
||||
Geom::UH_dynamic);
|
||||
geom->set_vertex_data(_vdata);
|
||||
PT(Geom) geom = new Geom(_vdata);
|
||||
_line_primitive = geom;
|
||||
_lines = new GeomLines(Geom::UH_dynamic);
|
||||
geom->add_primitive(_lines);
|
||||
|
||||
|
@ -498,10 +498,9 @@ init_geoms() {
|
||||
// For each frame of the animation...
|
||||
for (j = 0; j < _anim_size[i]; ++j) {
|
||||
_ttl_count[i] = new int[_anim_size[i]];
|
||||
PT(Geom) geom = new Geom;
|
||||
_sprite_primitive[i].push_back((Geom*)geom);
|
||||
_vdata[i].push_back(new GeomVertexData("particles", format, Geom::UH_dynamic));
|
||||
geom->set_vertex_data(_vdata[i][j]);
|
||||
PT(Geom) geom = new Geom(_vdata[i][j]);
|
||||
_sprite_primitive[i].push_back((Geom*)geom);
|
||||
_sprites[i].push_back(new GeomPoints(Geom::UH_dynamic));
|
||||
geom->add_primitive(_sprites[i][j]);
|
||||
|
||||
|
@ -333,8 +333,7 @@ make_bounds_viz(const BoundingVolume &vol) {
|
||||
strip->close_primitive();
|
||||
}
|
||||
|
||||
geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
} else {
|
||||
@ -398,8 +397,7 @@ make_tight_bounds_viz(PandaNode *node) {
|
||||
strip->add_vertex(1);
|
||||
strip->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
geom = geom.p();
|
||||
}
|
||||
|
@ -250,8 +250,7 @@ munge_points_to_quads(const CullTraverser *traverser) {
|
||||
GeomVertexWriter new_texcoord(new_data, InternalName::get_texcoord());
|
||||
int new_vi = 0;
|
||||
|
||||
PT(Geom) new_geom = new Geom();
|
||||
new_geom->set_vertex_data(new_data);
|
||||
PT(Geom) new_geom = new Geom(new_data);
|
||||
|
||||
const LMatrix4f &modelview = _modelview_transform->get_mat();
|
||||
|
||||
|
@ -45,7 +45,6 @@ TypeHandle PortalClipper::_type_handle;
|
||||
PortalClipper::
|
||||
PortalClipper(GeometricBoundingVolume *frustum, SceneSetup *scene_setup) {
|
||||
_previous = new GeomNode("my_frustum");
|
||||
_geom = new Geom;
|
||||
|
||||
_view_frustum = _reduced_frustum = DCAST(BoundingHexahedron, frustum);
|
||||
|
||||
@ -204,14 +203,12 @@ draw_lines() {
|
||||
}
|
||||
|
||||
if (lines->get_num_vertices() != 0) {
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(lines);
|
||||
_previous->add_geom(geom, state);
|
||||
}
|
||||
if (points->get_num_vertices() != 0) {
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(points);
|
||||
_previous->add_geom(geom, state);
|
||||
}
|
||||
|
@ -124,7 +124,6 @@ private:
|
||||
float _thick;
|
||||
|
||||
PT(GeomVertexData) _created_data;
|
||||
PT(Geom) _geom;
|
||||
|
||||
BoundingHexahedron *_view_frustum;
|
||||
BoundingHexahedron *_reduced_frustum;
|
||||
|
@ -218,8 +218,7 @@ generate_flat_geom(const LVecBase4f &frame) {
|
||||
strip->add_next_vertices(4);
|
||||
strip->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
gnode->add_geom(geom);
|
||||
|
||||
@ -389,8 +388,7 @@ generate_bevel_geom(const LVecBase4f &frame, bool in) {
|
||||
strip->close_primitive();
|
||||
strip->set_shade_model(Geom::SM_flat_last_vertex);
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CPT(RenderState) flat_state = RenderState::make(ShadeModelAttrib::make(ShadeModelAttrib::M_flat));
|
||||
@ -631,8 +629,7 @@ generate_groove_geom(const LVecBase4f &frame, bool in) {
|
||||
|
||||
strip->set_shade_model(Geom::SM_flat_last_vertex);
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(strip);
|
||||
|
||||
CPT(RenderState) flat_state = RenderState::make(ShadeModelAttrib::make(ShadeModelAttrib::M_flat));
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include "dynamicTextPage.h"
|
||||
#include "geomTextGlyph.h"
|
||||
#include "geomTextGlyph.h"
|
||||
#include "geomVertexData.h"
|
||||
#include "geomVertexFormat.h"
|
||||
#include "geomTriangles.h"
|
||||
@ -151,8 +150,7 @@ make_geom(int bitmap_top, int bitmap_left, float advance, float poly_margin,
|
||||
tris->add_vertex(3);
|
||||
tris->close_primitive();
|
||||
|
||||
PT(Geom) geom = new GeomTextGlyph(this);
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new GeomTextGlyph(this, vdata);
|
||||
geom->add_primitive(tris);
|
||||
_geom = geom;
|
||||
|
||||
|
@ -23,7 +23,8 @@
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE GeomTextGlyph::
|
||||
GeomTextGlyph(DynamicTextGlyph *glyph) :
|
||||
GeomTextGlyph(DynamicTextGlyph *glyph, const GeomVertexData *data) :
|
||||
Geom(data),
|
||||
_glyph(glyph)
|
||||
{
|
||||
if (_glyph != (DynamicTextGlyph *)NULL) {
|
||||
|
@ -87,7 +87,8 @@ register_with_read_factory() {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
TypedWritable* GeomTextGlyph::
|
||||
make_GeomTextGlyph(const FactoryParams ¶ms) {
|
||||
GeomTextGlyph *me = new GeomTextGlyph((DynamicTextGlyph *)NULL);
|
||||
GeomTextGlyph *me = new GeomTextGlyph((DynamicTextGlyph *)NULL,
|
||||
(GeomVertexData *)NULL);
|
||||
DatagramIterator scan;
|
||||
BamReader *manager;
|
||||
|
||||
|
@ -37,7 +37,8 @@
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDA GeomTextGlyph : public Geom {
|
||||
public:
|
||||
INLINE GeomTextGlyph(DynamicTextGlyph *glyph);
|
||||
INLINE GeomTextGlyph(DynamicTextGlyph *glyph,
|
||||
const GeomVertexData *data);
|
||||
INLINE GeomTextGlyph(const GeomTextGlyph ©);
|
||||
void operator = (const GeomTextGlyph ©);
|
||||
virtual ~GeomTextGlyph();
|
||||
|
@ -640,16 +640,14 @@ make_frame() {
|
||||
frame->add_vertex(0);
|
||||
frame->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(frame);
|
||||
frame_node->add_geom(geom, state);
|
||||
|
||||
if (get_frame_corners()) {
|
||||
PT(GeomPoints) corners = new GeomPoints(get_usage_hint());
|
||||
corners->add_consecutive_vertices(0, 4);
|
||||
PT(Geom) geom2 = new Geom;
|
||||
geom2->set_vertex_data(vdata);
|
||||
PT(Geom) geom2 = new Geom(vdata);
|
||||
geom2->add_primitive(corners);
|
||||
frame_node->add_geom(geom2, state);
|
||||
}
|
||||
@ -691,8 +689,7 @@ make_card() {
|
||||
card->add_consecutive_vertices(0, 4);
|
||||
card->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(card);
|
||||
|
||||
card_node->add_geom(geom);
|
||||
@ -798,8 +795,7 @@ make_card_with_border() {
|
||||
card->add_consecutive_vertices(8, 8);
|
||||
card->close_primitive();
|
||||
|
||||
PT(Geom) geom = new Geom;
|
||||
geom->set_vertex_data(vdata);
|
||||
PT(Geom) geom = new Geom(vdata);
|
||||
geom->add_primitive(card);
|
||||
|
||||
card_node->add_geom(geom);
|
||||
|
Loading…
x
Reference in New Issue
Block a user