Fresco/Berlin/modules/Primitives PrimitiveKitImpl.cc,1.7,1.8

Tobias Hunger <[email protected]>
Newsgroups gmane.comp.video.fresco.cvs
Message-ID <[email protected]>
Update of /cvs/fresco/Fresco/Berlin/modules/Primitives
In directory purcel:/tmp/cvs-serv22008/modules/Primitives

Modified Files:
	PrimitiveKitImpl.cc 
Log Message:
Move the create template from the LayoutKit into KitImpl.hh and use it
in all Kits.


Index: PrimitiveKitImpl.cc
===================================================================
RCS file: /cvs/fresco/Fresco/Berlin/modules/Primitives/PrimitiveKitImpl.cc,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- PrimitiveKitImpl.cc	5 Jan 2003 16:21:34 -0000	1.7
+++ PrimitiveKitImpl.cc	23 Jan 2003 22:31:05 -0000	1.8
@@ -34,24 +34,23 @@
 
 PrimitiveKitImpl::PrimitiveKitImpl(const std::string &id,
 		                   const Fresco::Kit::PropertySeq &p)
-  : KitImpl(id, p) {}
+  : KitImpl(id, p) { }
 
-PrimitiveKitImpl::~PrimitiveKitImpl() {}
+PrimitiveKitImpl::~PrimitiveKitImpl() { }
 
-Graphic_ptr PrimitiveKitImpl::root(Graphic_ptr child)
+Graphic_ptr PrimitiveKitImpl::root(Graphic_ptr g)
 {
-  GraphicImpl *g = new Root(Alignment(0.5), Alignment(0.5), Alignment(0.5), 
-			    Alignment(0.5), Alignment(0.5), Alignment(0.5));
-  activate(g);
-  g->body(child);
-  return g->_this();
+  Graphic_ptr res =
+      create<Graphic>(new Root(Alignment(0.5), Alignment(0.5),
+			       Alignment(0.5), Alignment(0.5),
+			       Alignment(0.5), Alignment(0.5)));
+  res->body(g);
+  return res;
 }
 
 Primitive::Geometry_ptr PrimitiveKitImpl::geometry(const Fresco::Mesh &mesh)
 {
-  GeometryImpl *geometry = new GeometryImpl(mesh);
-  activate(geometry);
-  return geometry->_this();
+  return create<Primitive::Geometry>(new GeometryImpl(mesh));
 }
 
 Graphic_ptr PrimitiveKitImpl::cube()
@@ -103,43 +102,51 @@
   mesh.normals[10].x =  0.; mesh.normals[10].y =  0.; mesh.normals[10].z =  1.;
   mesh.normals[11].x =  0.; mesh.normals[11].y =  0.; mesh.normals[11].z =  1.;
 
-  return this->geometry(mesh);
+  return geometry(mesh);
 }
 
 
 Graphic_ptr PrimitiveKitImpl::transformer(Graphic_ptr g)
 {
-  Transformer *transformer = new Transformer;
-  activate(transformer);
-  transformer->body(g);
-  return transformer->_this();
+  Graphic_ptr res = create<Graphic>(new Transformer);
+  res->body(g);
+  return res;
 }
 
-Graphic_ptr PrimitiveKitImpl::directional_light(Fresco::Graphic_ptr g, const Fresco::Color &c, CORBA::Float i, const Fresco::Vertex &d)
+Graphic_ptr PrimitiveKitImpl::directional_light(Fresco::Graphic_ptr g,
+						const Fresco::Color &c,
+						CORBA::Float i,
+						const Fresco::Vertex &d)
 {
-  Light *light = new DirectionalLight(c, i, d);
-  activate(light);
-  light->body(g);
-  return light->_this();
+  Graphic_ptr res = create<Graphic>(new DirectionalLight(c, i, d));
+  res->body(g);
+  return res;
 }
 
-Graphic_ptr PrimitiveKitImpl::point_light(Fresco::Graphic_ptr g, const Fresco::Color &c, CORBA::Float i, const Fresco::Vertex &p)
+Graphic_ptr PrimitiveKitImpl::point_light(Fresco::Graphic_ptr g,
+					  const Fresco::Color &c,
+					  CORBA::Float i,
+					  const Fresco::Vertex &p)
 {
-  Light *light = new PointLight(c, i, p);
-  activate(light);
-  light->body(g);
-  return light->_this();
+  Graphic_ptr res = create<Graphic>(new PointLight(c, i, p));
+  res->body(g);
+  return res;
 }
 
-Graphic_ptr PrimitiveKitImpl::spot_light(Fresco::Graphic_ptr g, const Fresco::Color &c, CORBA::Float i,
-					 const Fresco::Vertex &p, const Fresco::Vertex &d,
-					 CORBA::Float r, CORBA::Float a)
+Graphic_ptr PrimitiveKitImpl::spot_light(Fresco::Graphic_ptr g,
+					 const Fresco::Color &c,
+					 CORBA::Float i,
+					 const Fresco::Vertex &p,
+					 const Fresco::Vertex &d,
+					 CORBA::Float r,
+					 CORBA::Float a)
 {
-  Light *light = new SpotLight(c, i, p, d, r, a);
-  activate(light);
-  light->body(g);
-  return light->_this();
+  Graphic_ptr res = create<Graphic>(new SpotLight(c, i, p, d, r, a));
+  res->body(g);
+  return res;
 }
+
+
 
 extern "C" KitImpl *load()
 {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.