[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20932] branches/blender2.5/blender: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20855 :20928
Campbell Barton
ideasman42 at gmail.com
Tue Jun 16 16:21:58 CEST 2009
Revision: 20932
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20932
Author: campbellbarton
Date: 2009-06-16 16:21:58 +0200 (Tue, 16 Jun 2009)
Log Message:
-----------
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20855:20928
Sequencer changes from source/blender/src coming next
Modified Paths:
--------------
branches/blender2.5/blender/projectfiles_vc9/blender/nodes/nodes.vcproj
branches/blender2.5/blender/release/scripts/bpymodules/dxfLibrary.py
branches/blender2.5/blender/source/blender/blenkernel/BKE_modifier.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_node.h
branches/blender2.5/blender/source/blender/blenkernel/intern/BME_tools.c
branches/blender2.5/blender/source/blender/blenkernel/intern/DerivedMesh.c
branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c
branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
branches/blender2.5/blender/source/blender/blenkernel/intern/particle.c
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/gpu/intern/gpu_extensions.c
branches/blender2.5/blender/source/blender/gpu/intern/gpu_material.c
branches/blender2.5/blender/source/blender/imbuf/intern/radiance_hdr.c
branches/blender2.5/blender/source/blender/makesdna/DNA_sequence_types.h
branches/blender2.5/blender/source/blender/nodes/TEX_node.h
branches/blender2.5/blender/source/blender/render/intern/source/texture.c
branches/blender2.5/blender/source/gameengine/Converter/SConscript
branches/blender2.5/blender/source/gameengine/Expressions/InputParser.cpp
branches/blender2.5/blender/source/gameengine/Expressions/Value.cpp
branches/blender2.5/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
branches/blender2.5/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
branches/blender2.5/blender/source/gameengine/Ketsji/KX_PythonSeq.cpp
branches/blender2.5/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
branches/blender2.5/blender/source/gameengine/PyDoc/API_intro.py
branches/blender2.5/blender/source/gameengine/PyDoc/GameLogic.py
branches/blender2.5/blender/source/gameengine/VideoTexture/blendVideoTex.cpp
Added Paths:
-----------
branches/blender2.5/blender/source/blender/nodes/intern/TEX_nodes/TEX_at.c
Modified: branches/blender2.5/blender/projectfiles_vc9/blender/nodes/nodes.vcproj
===================================================================
--- branches/blender2.5/blender/projectfiles_vc9/blender/nodes/nodes.vcproj 2009-06-16 13:57:28 UTC (rev 20931)
+++ branches/blender2.5/blender/projectfiles_vc9/blender/nodes/nodes.vcproj 2009-06-16 14:21:58 UTC (rev 20932)
@@ -609,6 +609,10 @@
Name="TEX_nodes"
>
<File
+ RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_at.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\source\blender\nodes\intern\TEX_nodes\TEX_bricks.c"
>
</File>
Modified: branches/blender2.5/blender/release/scripts/bpymodules/dxfLibrary.py
===================================================================
--- branches/blender2.5/blender/release/scripts/bpymodules/dxfLibrary.py 2009-06-16 13:57:28 UTC (rev 20931)
+++ branches/blender2.5/blender/release/scripts/bpymodules/dxfLibrary.py 2009-06-16 14:21:58 UTC (rev 20932)
@@ -1,6 +1,6 @@
#dxfLibrary.py : provides functions for generating DXF files
# --------------------------------------------------------------------------
-__version__ = "v1.32 - 2009.06.06"
+__version__ = "v1.33 - 2009.06.16"
__author__ = "Stani Michiels(Stani), Remigiusz Fiedler(migius)"
__license__ = "GPL"
__url__ = "http://wiki.blender.org/index.php/Scripts/Manual/Export/autodesk_dxf"
@@ -20,8 +20,14 @@
TODO:
- add support for DXFr14 (needs extended file header)
- add support for SPLINEs (possible first in DXFr14 version)
+- add user preset for floating point precision (3-16?)
History
+v1.33 - 2009.06.16 by migius
+ - modif _point(): converts all coords to floats
+ - modif LineType class: implement elements
+ - added VPORT class, incl. defaults
+ - fix Insert class
v1.32 - 2009.06.06 by migius
- modif Style class: changed defaults to widthFactor=1.0, obliqueAngle=0.0
- modif Text class: alignment parameter reactivated
@@ -88,7 +94,7 @@
def _point(x,index=0):
"""Convert tuple to a dxf point"""
#print 'deb: _point=', x #-------------
- return '\n'.join([' %s\n%s'%((i+1)*10+index,x[i]) for i in range(len(x))])
+ return '\n'.join([' %s\n%s'%((i+1)*10+index,float(x[i])) for i in range(len(x))])
def _points(plist):
"""Convert a list of tuples to dxf points"""
@@ -137,8 +143,8 @@
if parent.layer!=None: result+=' 8\n%s\n'%parent.layer
if parent.color!=None: result+=' 62\n%s\n'%parent.color
if parent.lineType!=None: result+=' 6\n%s\n'%parent.lineType
- #TODO: if parent.lineWeight!=None: result+='370\n%s\n'%parent.lineWeight
- #TODO: if parent.visible!=None: result+='60\n%s\n'%parent.visible
+ # TODO: if parent.lineWeight!=None: result+='370\n%s\n'%parent.lineWeight
+ # TODO: if parent.visible!=None: result+='60\n%s\n'%parent.visible
if parent.lineTypeScale!=None: result+=' 48\n%s\n'%parent.lineTypeScale
if parent.elevation!=None: result+=' 38\n%s\n'%parent.elevation
if parent.thickness!=None: result+=' 39\n%s\n'%parent.thickness
@@ -287,7 +293,7 @@
self.rotation=rotation
def __str__(self):
- result=' 0\nINSERT\n 2\n%s\n%s\n%s\n'%\
+ result=' 0\nINSERT\n 2\n%s\n%s%s\n'%\
(self.name,self._common(),_point(self.point))
if self.xscale!=None:result+=' 41\n%s\n'%self.xscale
if self.yscale!=None:result+=' 42\n%s\n'%self.yscale
@@ -383,7 +389,7 @@
def __init__(self,points=None,**common):
_Entity.__init__(self,**common)
self.points=points
- def __str__(self): #TODO:
+ def __str__(self): # TODO:
return ' 0\nPOINT\n%s%s\n' %(self._common(),
_points(self.points)
)
@@ -515,7 +521,7 @@
self.name=name
self.flag=0
self.base=base
- def __str__(self): #TODO:
+ def __str__(self): # TODO:
e=''.join([str(x)for x in self.entities])
return ' 0\nBLOCK\n 8\n%s\n 2\n%s\n 70\n%s\n%s\n 3\n%s\n%s 0\nENDBLK\n'%\
(self.layer,self.name.upper(),self.flag,_point(self.base),self.name.upper(),e)
@@ -535,15 +541,22 @@
#-----------------------------------------------
class LineType(_Call):
"""Custom linetype"""
- def __init__(self,name='continuous',description='Solid line',elements=[],flag=64):
- # TODO: Implement lineType elements
+ def __init__(self,name='CONTINUOUS',description='Solid line',elements=[0.0],flag=0):
self.name=name
self.description=description
self.elements=copy.copy(elements)
self.flag=flag
def __str__(self):
- return ' 0\nLTYPE\n 2\n%s\n 70\n%s\n 3\n%s\n 72\n65\n 73\n%s\n 40\n0.0\n'%\
- (self.name.upper(),self.flag,self.description,len(self.elements))
+ result = ' 0\nLTYPE\n 2\n%s\n 70\n%s\n 3\n%s\n 72\n65\n'%\
+ (self.name.upper(),self.flag,self.description)
+ if self.elements:
+ elements = ' 73\n%s\n' %(len(self.elements)-1)
+ elements += ' 40\n%s\n' %(self.elements[0])
+ for e in self.elements[1:]:
+ elements += ' 49\n%s\n' %e
+ result += elements
+ return result
+
#-----------------------------------------------
class Style(_Call):
@@ -566,27 +579,137 @@
self.font.upper(),self.bigFont.upper())
#-----------------------------------------------
+class VPort(_Call):
+ def __init__(self,name,flag=0,
+ leftBottom=(0.0,0.0),
+ rightTop=(1.0,1.0),
+ center=(0.5,0.5),
+ snap_base=(0.0,0.0),
+ snap_spacing=(0.1,0.1),
+ grid_spacing=(0.1,0.1),
+ direction=(0.0,0.0,1.0),
+ target=(0.0,0.0,0.0),
+ height=1.0,
+ ratio=1.0,
+ lens=50,
+ frontClipping=0,
+ backClipping=0,
+ snap_rotation=0,
+ twist=0,
+ mode=0,
+ circle_zoom=100,
+ fast_zoom=1,
+ ucsicon=1,
+ snap_on=0,
+ grid_on=0,
+ snap_style=0,
+ snap_isopair=0
+ ):
+ self.name=name
+ self.flag=flag
+ self.leftBottom=leftBottom
+ self.rightTop=rightTop
+ self.center=center
+ self.snap_base=snap_base
+ self.snap_spacing=snap_spacing
+ self.grid_spacing=grid_spacing
+ self.direction=direction
+ self.target=target
+ self.height=float(height)
+ self.ratio=float(ratio)
+ self.lens=float(lens)
+ self.frontClipping=float(frontClipping)
+ self.backClipping=float(backClipping)
+ self.snap_rotation=float(snap_rotation)
+ self.twist=float(twist)
+ self.mode=mode
+ self.circle_zoom=circle_zoom
+ self.fast_zoom=fast_zoom
+ self.ucsicon=ucsicon
+ self.snap_on=snap_on
+ self.grid_on=grid_on
+ self.snap_style=snap_style
+ self.snap_isopair=snap_isopair
+ def __str__(self):
+ output = [' 0', 'VPORT',
+ ' 2', self.name,
+ ' 70', self.flag,
+ _point(self.leftBottom),
+ _point(self.rightTop,1),
+ _point(self.center,2), # View center point (in DCS)
+ _point(self.snap_base,3),
+ _point(self.snap_spacing,4),
+ _point(self.grid_spacing,5),
+ _point(self.direction,6), #view direction from target (in WCS)
+ _point(self.target,7),
+ ' 40', self.height,
+ ' 41', self.ratio,
+ ' 42', self.lens,
+ ' 43', self.frontClipping,
+ ' 44', self.backClipping,
+ ' 50', self.snap_rotation,
+ ' 51', self.twist,
+ ' 71', self.mode,
+ ' 72', self.circle_zoom,
+ ' 73', self.fast_zoom,
+ ' 74', self.ucsicon,
+ ' 75', self.snap_on,
+ ' 76', self.grid_on,
+ ' 77', self.snap_style,
+ ' 78', self.snap_isopair
+ ]
+
+ output_str = ''
+ for s in output:
+ output_str += '%s\n' %s
+ return output_str
+
+
+
+#-----------------------------------------------
class View(_Call):
- def __init__(self,name,flag=0,width=1,height=1,center=(0.5,0.5),
- direction=(0,0,1),target=(0,0,0),lens=50,
- frontClipping=0,backClipping=0,twist=0,mode=0):
+ def __init__(self,name,flag=0,
+ width=1,
+ height=1,
+ center=(0.5,0.5),
+ direction=(0,0,1),
+ target=(0,0,0),
+ lens=50,
+ frontClipping=0,
+ backClipping=0,
+ twist=0,mode=0
+ ):
self.name=name
self.flag=flag
- self.width=width
- self.height=height
+ self.width=float(width)
+ self.height=float(height)
self.center=center
self.direction=direction
self.target=target
- self.lens=lens
- self.frontClipping=frontClipping
- self.backClipping=backClipping
- self.twist=twist
+ self.lens=float(lens)
+ self.frontClipping=float(frontClipping)
+ self.backClipping=float(backClipping)
+ self.twist=float(twist)
self.mode=mode
def __str__(self):
- return ' 0\nVIEW\n 2\n%s\n 70\n%s\n 40\n%s\n%s\n 41\n%s\n%s\n%s\n 42\n%s\n 43\n%s\n 44\n%s\n 50\n%s\n 71\n%s\n'%\
- (self.name,self.flag,self.height,_point(self.center),self.width,
- _point(self.direction,1),_point(self.target,2),self.lens,
- self.frontClipping,self.backClipping,self.twist,self.mode)
+ output = [' 0', 'VIEW',
+ ' 2', self.name,
+ ' 70', self.flag,
+ ' 40', self.height,
+ _point(self.center),
+ ' 41', self.width,
+ _point(self.direction,1),
+ _point(self.target,2),
+ ' 42', self.lens,
+ ' 43', self.frontClipping,
+ ' 44', self.backClipping,
+ ' 50', self.twist,
+ ' 71', self.mode
+ ]
+ output_str = ''
+ for s in output:
+ output_str += '%s\n' %s
+ return output_str
#-----------------------------------------------
def ViewByWindow(name,leftBottom=(0,0),rightTop=(1,1),**options):
@@ -601,7 +724,7 @@
"""Dxf drawing. Use append or any other list methods to add objects."""
def __init__(self,insbase=(0.0,0.0,0.0),extmin=(0.0,0.0,0.0),extmax=(0.0,0.0,0.0),
layers=[Layer()],linetypes=[LineType()],styles=[Style()],blocks=[],
- views=[],entities=None,fileName='test.dxf'):
+ views=[],vports=[],entities=None,fileName='test.dxf'):
# TODO: replace list with None,arial
if not entities:
entities=[]
@@ -613,6 +736,7 @@
self.linetypes=copy.copy(linetypes)
self.styles=copy.copy(styles)
self.views=copy.copy(views)
+ self.vports=copy.copy(vports)
self.blocks=copy.copy(blocks)
self.fileName=fileName
#private
@@ -656,7 +780,8 @@
header=[self.acadver]+[self._point(attr,getattr(self,attr))+'\n' for attr in _HEADER_POINTS]
header=self._section('header',header)
- tables=[self._table('ltype',[str(x) for x in self.linetypes]),
+ tables=[self._table('vport',[str(x) for x in self.vports]),
+ self._table('ltype',[str(x) for x in self.linetypes]),
self._table('layer',[str(x) for x in self.layers]),
self._table('style',[str(x) for x in self.styles]),
self._table('view',[str(x) for x in self.views]),
@@ -740,17 +865,16 @@
d.append(Line(points=[(0,0,0),(1,1,1)]))
d.append(Mtext('Click on Ads\nmultiple lines with mtext',point=(1,1,1),color=5,rotation=90))
d.append(Text('Please donate!',point=(3,0,1)))
- d.append(Rectangle(point=(2,2,2),width=4,height=3,color=6,solid=Solid(color=2)))
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list