📄 vmv.bff
字号:
# BinaryFileFormat (leave this tag as its own magic token!)
# BVQX file format for *.VMV files (Vertex MoVie)
# VMV FileVersions supported: 1
#
# Vertex movies contain several SRFs/positions to build a
# morphing sequence
#
# Version: v0.7a
# Build: 7072014
# Date: Jul-20 2007, 2:53 PM CEST
# Author: Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools
# FILE FORMAT
Description:Vertex movie files
EncodingSyntax:ieee-le
Extensions:vmv
# FIELDS
ListOfFields:!
type !cond !disktype!datatype!dim !default !varname
FIELD ! !uint16 !double !1, 1 ! !FileVersion
FIELD ! !uint32 !double !1, 1 ! !NrOfPositions
FIELD ! !uint32 !double !1, 1 ! !NrOfVertices
FIELD ! !uint16 !double !1, 1 ! !UseViewPoint
FIELD ! !uint16 !double !1, 1 ! !UseVertexColor
FIELD ! !cstring !cstring !1, 1 ! !NameOfOriginateSRF
# loop over number of positions
EXPRE !$BFFREAD !!!!!@VertexPosition = cell2struct(cell(0, 0, 8), {'Coordinates', 'Normals', 'Colors', 'ViewPoint', 'ViewAngle', 'UsePerspective', 'MorphingSteps', 'NameOfState'}, 3); if @NrOfPositions > 0, @VertexPosition(@NrOfPositions).NameOfState = ''; end
BLOOP ! ! ! !@NrOfPositions ! !VMPos
FIELD ! !single !single !@NrOfVertices, 3 ! !VertexPosition($VMPos).Coordinates
FIELD ! !single !single !@NrOfVertices, 3 ! !VertexPosition($VMPos).Normals
FIELD !@UseVertexColor > 0 !uint32 !colcode !@NrOfVertices, 1 ! !VertexPosition($VMPos).Colors
# conditional on UseViewPoint
BLOOP !@UseViewPoint > 0 ! ! !1 ! !UseVP
FIELD ! !single !double !1, 3 ! !VertexPosition($VMPos).ViewPoint
FIELD ! !single !double !1, 3 ! !VertexPosition($VMPos).ViewAngle
FIELD ! !uint32 !double !1, 1 ! !VertexPosition($VMPos).UsePerspective
ELOOP ! ! ! ! ! !UseVP
# continue loop
FIELD ! !uint32 !double !1, 1 ! !VertexPosition($VMPos).MorphingSteps
FIELD ! !cstring !cstring !1, 1 ! !VertexPosition($VMPos).NameOfState
ELOOP ! ! ! ! ! !VMPos
# Read rest of File into REMAININGCONTENT
EXPRE !$BFFREAD !!!!!$RemSize = $FILESIZE - ftell(fid);
EXPRE !$BFFWRITE !!!!!$RemSize = 0; try, if isfield(@@, 'REMAININGCONTENT'), $RemSize = prod(size(@REMAININGCONTENT)); end, end
FIELD !$RemSize > 0 !uint8 !uint8 !1, $RemSize ! !REMAININGCONTENT
EndListOfFields
NewFileCode:!
@FileVersion = 1;
@NrOfPositions = 1;
@NrOfVertices = 40962;
@UseViewPoint = 1;
@UseVertexColor = 1;
@NameOfOriginateSRF = 'untitled.srf';
@VertexPosition.Coordinates = 128 * ones(@NrOfVertices, 3);
@VertexPosition.Normals = [ones(@NrOfVertices, 1), zeros(@NrOfVertices, 2)];
@VertexPosition.Colors = uint322colcode(uint32(zeros(@NrOfVertices, 1)));
@VertexPosition.ViewPoint = [0, 0, -500];
@VertexPosition.ViewAngle = [180, 0, 0];
@VertexPosition.UsePerspective = 0;
@VertexPosition.MorphingSteps = 30;
@VertexPosition.NameOfState = 'InitialState';
EndNewFileCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -