[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31240] branches/nurbs-merge: Commit of eman's (aka Emmanuel Stone) initial changes (rev26277) for nurbs25 branch
Sergey Sharybin
g.ulairi at gmail.com
Wed Aug 11 17:36:48 CEST 2010
Revision: 31240
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31240
Author: nazgul
Date: 2010-08-11 17:36:47 +0200 (Wed, 11 Aug 2010)
Log Message:
-----------
Commit of eman's (aka Emmanuel Stone) initial changes (rev26277) for nurbs25 branch
Patch is initially applied againt svn rev30720 (instead of rev26271 as it was in nurbs25 branch)
Own changes:
- No changes to CMakeLists.txt from the root directory -- there were only tabs->spaces
replacing, but tabs should be used in this files
Hope there is no merge errors
Thank you, eman, for new stuff
Revision Links:
--------------
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26277
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30720
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26271
Modified Paths:
--------------
branches/nurbs-merge/intern/CMakeLists.txt
branches/nurbs-merge/intern/SConscript
branches/nurbs-merge/source/blender/blenkernel/BKE_curve.h
branches/nurbs-merge/source/blender/blenkernel/BKE_displist.h
branches/nurbs-merge/source/blender/blenkernel/CMakeLists.txt
branches/nurbs-merge/source/blender/blenkernel/SConscript
branches/nurbs-merge/source/blender/blenkernel/intern/curve.c
branches/nurbs-merge/source/blender/blenkernel/intern/displist.c
branches/nurbs-merge/source/blender/editors/curve/CMakeLists.txt
branches/nurbs-merge/source/blender/editors/curve/SConscript
branches/nurbs-merge/source/blender/editors/curve/curve_intern.h
branches/nurbs-merge/source/blender/editors/curve/curve_ops.c
branches/nurbs-merge/source/blender/editors/curve/editcurve.c
branches/nurbs-merge/source/blender/editors/space_view3d/drawobject.c
branches/nurbs-merge/source/blender/editors/space_view3d/view3d_header.c
branches/nurbs-merge/source/blender/makesdna/DNA_curve_types.h
branches/nurbs-merge/source/blender/makesrna/intern/rna_curve.c
branches/nurbs-merge/source/blender/render/intern/source/convertblender.c
branches/nurbs-merge/source/creator/CMakeLists.txt
Added Paths:
-----------
branches/nurbs-merge/intern/nurbana/
branches/nurbs-merge/intern/nurbana/CMakeLists.txt
branches/nurbs-merge/intern/nurbana/SConscript
branches/nurbs-merge/intern/nurbana/extern/
branches/nurbs-merge/intern/nurbana/extern/nurbana.h
branches/nurbs-merge/intern/nurbana/intern/
branches/nurbs-merge/intern/nurbana/intern/Makefile
branches/nurbs-merge/intern/nurbana/intern/NGlobal.h
branches/nurbs-merge/intern/nurbana/intern/ON_IO.h
branches/nurbs-merge/intern/nurbana/intern/blenderNurbsStruct.h
branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp
branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp
branches/nurbs-merge/intern/nurbana/intern/nbConstruct.h
branches/nurbs-merge/intern/nurbana/intern/nbDegree.cpp
branches/nurbs-merge/intern/nurbana/intern/nbDegree.h
branches/nurbs-merge/intern/nurbana/intern/nbFitting.cpp
branches/nurbs-merge/intern/nurbana/intern/nbFitting.h
branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp
branches/nurbs-merge/intern/nurbana/intern/nbGenerate.h
branches/nurbs-merge/intern/nurbana/intern/nbGridTessellator.cpp
branches/nurbs-merge/intern/nurbana/intern/nbGridTessellator.h
branches/nurbs-merge/intern/nurbana/intern/nbKnot.cpp
branches/nurbs-merge/intern/nurbana/intern/nbKnot.h
branches/nurbs-merge/intern/nurbana/intern/nbMath.cpp
branches/nurbs-merge/intern/nurbana/intern/nbMath.h
branches/nurbs-merge/intern/nurbana/intern/nbNURBS.cpp
branches/nurbs-merge/intern/nurbana/intern/nbNURBS.h
branches/nurbs-merge/intern/nurbana/intern/nbNormals.cpp
branches/nurbs-merge/intern/nurbana/intern/nbNormals.h
branches/nurbs-merge/intern/nurbana/intern/nbPrimitives.cpp
branches/nurbs-merge/intern/nurbana/intern/nbPrimitives.h
branches/nurbs-merge/intern/nurbana/intern/nbTessellator.cpp
branches/nurbs-merge/intern/nurbana/intern/nbTessellator.h
branches/nurbs-merge/intern/nurbana/intern/nbTrimTessellator.cpp
branches/nurbs-merge/intern/nurbana/intern/nbTrimTessellator.h
branches/nurbs-merge/intern/nurbana/intern/nbUtils.h
branches/nurbs-merge/intern/nurbana/intern/nbVertexOps.cpp
branches/nurbs-merge/intern/nurbana/intern/nbVertexOps.h
branches/nurbs-merge/intern/nurbana/intern/trim/
branches/nurbs-merge/intern/nurbana/intern/trim/nbSubDiv.cpp
branches/nurbs-merge/intern/nurbana/intern/trim/nbSubDiv.h
branches/nurbs-merge/intern/nurbana/intern/trim/nbTessGrid.cpp
branches/nurbs-merge/intern/nurbana/intern/trim/nbTessGrid.h
branches/nurbs-merge/intern/nurbana/intern/trim/nbTrimPatch.cpp
branches/nurbs-merge/intern/nurbana/intern/trim/nbTrimPatch.h
Modified: branches/nurbs-merge/intern/CMakeLists.txt
===================================================================
--- branches/nurbs-merge/intern/CMakeLists.txt 2010-08-11 15:15:59 UTC (rev 31239)
+++ branches/nurbs-merge/intern/CMakeLists.txt 2010-08-11 15:36:47 UTC (rev 31240)
@@ -36,6 +36,7 @@
ADD_SUBDIRECTORY(itasc)
ADD_SUBDIRECTORY(boolop)
ADD_SUBDIRECTORY(opennl)
+ADD_SUBDIRECTORY(nurbana)
ADD_SUBDIRECTORY(smoke)
IF(WITH_FLUID)
Modified: branches/nurbs-merge/intern/SConscript
===================================================================
--- branches/nurbs-merge/intern/SConscript 2010-08-11 15:15:59 UTC (rev 31239)
+++ branches/nurbs-merge/intern/SConscript 2010-08-11 15:36:47 UTC (rev 31240)
@@ -12,6 +12,7 @@
'iksolver/SConscript',
'itasc/SConscript',
'boolop/SConscript',
+ 'nurbana/SConscript',
'opennl/SConscript',
'smoke/SConscript'])
Added: branches/nurbs-merge/intern/nurbana/CMakeLists.txt
===================================================================
--- branches/nurbs-merge/intern/nurbana/CMakeLists.txt (rev 0)
+++ branches/nurbs-merge/intern/nurbana/CMakeLists.txt 2010-08-11 15:36:47 UTC (rev 31240)
@@ -0,0 +1,36 @@
+# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2006, Blender Foundation
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): Emmanuel Stone.
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+
+SET(INC include ../../intern/guardedalloc ./opennurbs ./opennurbs/zlib intern/trim)
+
+FILE(GLOB SRC intern/*.cpp intern/opennurbs/*.cpp intern/opennurbs/*.c intern/opennurbs/zlib/*.c intern/trim/*.cpp)
+
+
+#INCLUDE_DIRECTORIES(../../intern/guardedalloc ./opennurbs ./opennurbs/zlib intern/trim)
+BLENDERLIB(bf_nurbana "${SRC}" "${INC}")
+#, libtype=['intern','game','game2','player'], priority = [15, 55, 100, 135] )
\ No newline at end of file
Added: branches/nurbs-merge/intern/nurbana/SConscript
===================================================================
--- branches/nurbs-merge/intern/nurbana/SConscript (rev 0)
+++ branches/nurbs-merge/intern/nurbana/SConscript 2010-08-11 15:36:47 UTC (rev 31240)
@@ -0,0 +1,8 @@
+#!/usr/bin/python
+
+Import('env')
+
+sources = env.Glob('intern/*.cpp') + env.Glob('intern/opennurbs/*.cpp') + env.Glob('intern/opennurbs/*.c') + env.Glob('intern/opennurbs/zlib/*.c') + env.Glob('intern/trim/*.cpp')
+incs = '../../intern/guardedalloc ./intern/opennurbs/ ./intern/opennurbs/zlib ./intern/trim'
+
+env.BlenderLib ('bf_nurbana', sources, Split(incs), defines=[], libtype=['intern', 'player'], priority = [12, 177] )
Added: branches/nurbs-merge/intern/nurbana/extern/nurbana.h
===================================================================
--- branches/nurbs-merge/intern/nurbana/extern/nurbana.h (rev 0)
+++ branches/nurbs-merge/intern/nurbana/extern/nurbana.h 2010-08-11 15:36:47 UTC (rev 31240)
@@ -0,0 +1,172 @@
+/*
+* $Id$
+*
+* ***** BEGIN GPL LICENSE BLOCK *****
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software Foundation,
+* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*
+* The Original Code is Copyright (C) 2005 by Emmanuel Stone
+* All rights reserved.
+*
+* The Original Code is: all of this file.
+*
+* Contributor(s): none yet.
+*
+* ***** END GPL LICENSE BLOCK *****
+*/
+
+#ifndef NAN_INCLUDED_nurbana_h
+#define NAN_INCLUDED_nurbana_h
+
+#include "../intern/blenderNurbsStruct.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void nurbs_test();
+
+typedef float nbReal;
+
+typedef struct nbReal3 {
+ nbReal x;
+ nbReal y;
+ nbReal z;
+
+}nbReal3;
+typedef struct nbReal4 {
+ nbReal x;
+ nbReal y;
+ nbReal z;
+ nbReal a;
+}nbReal4;
+
+
+typedef struct ControlPoint {
+ nbReal x;
+ nbReal y;
+ nbReal z;
+ nbReal H;
+ // This extra data makes nurbana struct compatible with blender BPoint
+ float alfa, weight; /* alfa: tilt in 3D View, weight: used for softbody goal weight */
+ short f1, hide;
+ float radius, pad; /* user-set radius per point for bevelling etc */
+} ControlPoint;
+
+// forward declare as void
+//typedef void Point3d;
+//typedef void* Point3d_ptr;
+typedef Point3d* Point3d_ptr;
+typedef nbReal3* nbReal3_ptr;
+typedef void* BlenderNurbs_ptr;
+typedef void* NurbanaObj_ptr; // to hide pointer to C++ object in C space
+
+extern NurbanaObj_ptr NRB_addObject(BlenderNurbs_ptr bNurbs);
+
+
+
+extern void NRB_init(NurbanaObj_ptr nop);
+
+extern NurbanaObj_ptr NRB_reallocate(BlenderNurbs_ptr bNurbs);
+
+extern NurbanaObj_ptr NRB_CreatePrimitive(NurbanaObj_ptr nop, unsigned char type);
+extern void NRB_removeObject(NurbanaObj_ptr nop);
+
+extern void NRB_changeCyclic(NurbanaObj_ptr nop,int uv);
+
+extern void NRB_getTriangleNormals(float v0[], float v1[], float v2[], float n0[], float n1[], float n2[]);
+extern void NRB_getTrimTess(NurbanaObj_ptr surface, float** vertex, int** index, int* totindex, float** norm);
+extern void NRB_addTrimCurve(NurbanaObj_ptr surface, void* curve);
+
+extern void NRB_ResChanged(NurbanaObj_ptr nop );
+extern void NRB_SizeChanged(NurbanaObj_ptr nop, int newU, int newV);
+extern void NRB_UpdateSize(NurbanaObj_ptr nop);
+
+extern void NRB_setLength(int U, int V, int shiftU, int shiftV, int copyKnots, NurbanaObj_ptr nurb);
+extern void NRB_reallocKnots(int U, int V, int copy, NurbanaObj_ptr nurb);
+extern void NRB_copyPatchFromBuffer(nbReal4 *buffer, int curveLength, int nextCurve, int curveCount, NurbanaObj_ptr nurb, int uOffset, int vOffset);
+extern void NRB_reallocCtlPts(int U, int V, int shiftU, int shiftV, NurbanaObj_ptr nurb);
+
+extern void NRB_ConvertToPrimitive(NurbanaObj_ptr nop,unsigned char type);
+
+extern void NRB_RecalculateKnots(NurbanaObj_ptr nop,int uv,int type);
+
+//extern Nurb_ExternPtr NRB_getNurbData(NurbanaObj_ptr nop);
+
+//extern void NRB_freeNurbData(Nurb_ExternPtr ne);
+//extern void NRB_updateNurbData(Nurb_ExternPtr ne,NurbanaObj_ptr nop);
+
+extern int NRB_getNumTessPoints(NurbanaObj_ptr nurb);
+extern int NRB_getNumCPoints(int uv,NurbanaObj_ptr nurb);
+extern int NRB_getOrder(int uv,NurbanaObj_ptr nurb);
+extern int NRB_getNumKnots(int uv,NurbanaObj_ptr nurb);
+extern nbReal NRB_getLastKnotValue(NurbanaObj_ptr nurb,int uv);
+extern nbReal NRB_getFirstKnotValue(NurbanaObj_ptr nurb,int uv);
+
+extern void NRB_resetIsoLines(NurbanaObj_ptr nurb);
+extern int NRB_getNumIsoPoints(NurbanaObj_ptr nop);
+extern int NRB_getIsoResolution(NurbanaObj_ptr nop);
+extern int NRB_getIsoDensity(NurbanaObj_ptr nop);
+extern void NRB_setIsoResolution(NurbanaObj_ptr nop,int res);
+extern void NRB_setIsoDensity(NurbanaObj_ptr nop,int den);
+extern nbReal* NRB_getIsoPoints(NurbanaObj_ptr nop, nbReal* buffer);
+
+
+extern int NRB_getTrianIndexCount(NurbanaObj_ptr nop);
+extern int NRB_getQuadIndexCount(NurbanaObj_ptr nop);
+extern void NRB_getTrianIndexes(NurbanaObj_ptr nop, int* indexes);
+extern void NRB_getQuadIndexes(NurbanaObj_ptr nop, int* indexes);
+extern void NRB_getNormals(NurbanaObj_ptr nop, int* qIndexes, int* tIndexes, nbReal* verts, nbReal* nors);
+extern int NRB_getVertexCount(NurbanaObj_ptr nop);
+//extern nbReal* NRB_GenerateSurface(NurbanaObj_ptr nop, nbReal* buffer, int dim );
+extern nbReal* NRB_GenerateSurface(NurbanaObj_ptr nop, nbReal* buffer, int resU, int resV, int dim);
+
+extern nbReal* NRB_GenerateCurve(NurbanaObj_ptr nop, nbReal* buffer, nbReal* tiltBuffer, nbReal* radiusBuffer, int res);
+extern nbReal* NRB_GenerateCurveOnSurface(NurbanaObj_ptr nop, nbReal* buffer, int res, float t, int uv, int dim);
+extern nbReal3_ptr NRB_GenerateNormals(NurbanaObj_ptr nop);
+
+
+extern void NRB_RefitSurface(NurbanaObj_ptr nop, nbReal* buffer);
+
+extern void NRB_Subdivide(NurbanaObj_ptr nop,int subdivideU, int subdivideV);
+extern void NRB_Refine(NurbanaObj_ptr nop, int U, int V);
+extern void NRB_KnotInsert(NurbanaObj_ptr nop,nbReal *X, int r, int UV);
+
+extern void NRB_split(NurbanaObj_ptr nop, nbReal x, int uv, nbReal4* dst, int dstLen, int* frstLen, int* scndLen, int* k, int* newPoints, int* inserted);
+extern void NRB_splitBuffer(nbReal4* buffer, int newPoints, NurbanaObj_ptr nop, NurbanaObj_ptr nop2, nbReal splitKnot, int newLength, int span, int uv, int frstLen, int scndLen);
+
+extern void NRB_DegreeElevate(NurbanaObj_ptr nop,int Uinc, int Vinc);
+extern void NRB_DegreeReduce(NurbanaObj_ptr nop,int Udec, int Vdec);
+
+
+// OpenNURBS stuff
+extern int NRB_loadOpenNURBS(NurbanaObj_ptr nop, char* filename);
+
+// Misc utility functions
+extern void NRB_Print(NurbanaObj_ptr nop);
+
+extern void NRB_Echo();
+
+#define NURBANA_PRIMITIVE_CURVE 0
+#define NURBANA_PRIMITIVE_SURFACE 1
+#define NURBANA_PRIMITIVE_CIRCLE 2
+#define NURBANA_PRIMITIVE_TUBE 3
+#define NURBANA_PRIMITIVE_TORUS 4
+#define NURBANA_PRIMITIVE_SPHERE 5
+#ifdef __cplusplus
+}
+#endif
+
+#endif // NAN_INCLUDED_nurbana_h
\ No newline at end of file
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list