Professional Documents
Culture Documents
Martin Lesage, Omar Cherkaoui, Faysal Abouzaid, Martin Poirier, Gilles Raîche, and Martin Riopel
Abstract— The development of networking and client/server files smaller than Maya files for a same graphic scene. The
systems over the Internet had led to many collaborative work Blender application has advanced embedded data structures
software applications. To extend the graphic design offering frontward and backward compatibility. This
collaborative platforms focused on 3D artistic characters, the application can also interface itself with Web services by its
Articiel project is based on the Articiel collaborative platform
that is a client-server application on the World Wide
Python[19] scripting API and the SOAPPy[21] module. This
Web(WWW) based on a SOA architecture. This platform is approach had been studied in the present paper, buy rejected
including the essential functionalities needed by communities of at the advantage of a wrapper Python/C++. The wrapper
distantly located artists to create and modify 3D characters or approach was selected for his higher level of reuse of the
graphic animations. The Articiel platform collaborative Maya plugin C++ code.
functionalities are: messaging, agenda, storing and retrieving The code kept was the Web services access routines and
artists’ projects and contributions. Previous work has proved
the usability of the Articiel platform by the programming of a
the project management routines. The contribution
Maya plugin who was calling the platform functionalities management had to be rebuilt form scratch. The contribution
through its web services. The aim of this paper is to show a new management programming is one of the major parts of this
contribution algorithm and the technical innovations resulting project and discussed in section 5.
of the plugin conversion from Maya to Blender. This paper is organized as follows: we will place the
subject in the background section in section 2, explain the
I. INTRODUCTION collaborative work platforms in section 3, and define the
Articiel platform
mesh = GetMesh(self.getPerson())
if not mesh:
return False
file = self.File
if len(mesh.verts) != len(self.OldMesh.verts):
print "Vertex added or remove from mesh:"
print "Cannot calculate and send contribution"
Fig. 4. Articiel contribution reentrancy[14] Error("Calculating Contribution")
return False
for i in range(len(mesh.verts)):
An Articiel project contribution has reentrancy properties: v2 = mesh.verts[i].loc
v1 = self.OldMesh.verts[i].loc
the same contribution can be applied several number of times if v1[0] != v2[0] or v1[1] != v2[1] or v1[2] != v2[2]:
to the same character resulting a repetition of the modification Contribution += str(i) + " " + str(v2 - v1) + "\n"
REFERENCES
[1] Alienbrain. (2005). Available: http://www.alienbrain.com.
[2] D. Bergal. (2002). “Advantages of Jabber as a Platform for
Developping Collaborative Applications”. Available at
http://www.jabber.com/media/Jabber_Advantages.pdf
[3] F. Bergenti, A. Poggi, and M. Somacher, “A collaborative platform for
fixed and mobile networks”. Communications of the ACM, Vol. 45, No.
1, pp.39-44, Nov 2002.
[4] Blender. (2004). Available at http://www.blender.org
[5] S. Boutemedjet, “Conception d’une plateforme collaborative de
création de personnages 3D à travers le Web”. Master’s Degree thesis.
Montréal : Université du Québec à Montréal, M8167, 150pp., 2003.
[6] S. Boutemedjet, “ARTICIEL: Document de spécification des nouveaux
besoins de la plateforme Articiel”. Laboratoire de recherche de
téléinformatique de l'UQAM, 17pp., 2003.
[7] S. Boutemedjet, ARTICIEL: “Overall requirements and design
descriptions”. Laboratoire de recherche de téléinformatique de
l'UQAM, 12pp., 2002.
[8] Canarie. (2005). Available at http://www.canarie.ca
[9] C. D. Cera, W. C. Regli, I. Braude, Y.Shapirstein & C.V. Foster, “A
Collaborative 3D Environment for Authoring of Design Semantics”.
Drexel University Technical report, DU-MCS-01-06, 16pp., 2001
[10] Géant Beaupré. (2005). Available at
http://collections.ic.gc.ca/beaupre/prommf41.htm
[11] Globus. (2005). Available at http://www.globus.org/
[12] Grand Antonio. (2005). Available at
http://www34.brinkster.com/noxfr/pages_blog/articles/t-29.html
Fig. 2. Articiel layered web services architecture[5][13][14]
Contribution Contribution
(vertex coordinates differences) (vertex coordinates differences)
Project (.BLEND files) Project (.BLEND files)
BLENDER
Software
Python script
Requests Responses
C++ Code(«artwscpp.cpp»)
Requests Responses
BLENDER
Software
Python Script
Python/C++ Wrapper
C++ Code
Requests Responses