📄 srf.bff
字号:
# BinaryFileFormat (leave this tag as its own magic token!)
# BVQX file format for *.SRF files (SuRFaces)
# SRF FileVersions supported: 3, 4
#
# Note: for new SRFs, the neighbor information is *ivalid* !
#
# Version: v0.6d
# Build: 7020711
# Date: Feb-07 2007, 11:45 AM CET
# Author: Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools
# FILE FORMAT
Description:Surface mesh files
EncodingSyntax:ieee-le
Extensions:srf
# FIELDS
ListOfFields:!
type !cond !disktype!datatype!dim !default !varname
FIELD ! !single !double !1, 1 ! !FileVersion
FIELD ! !int32 !double !1, 1 !0 !Reserved0
FIELD ! !uint32 !double !1, 1 ! !NrOfVertices
FIELD ! !uint32 !double !1, 1 ! !NrOfTriangles
FIELD ! !single !double !1, 3 ! !MeshCenter
FIELD ! !single !double !@NrOfVertices, 3 ! !VertexCoordinate
FIELD ! !single !double !@NrOfVertices, 3 ! !VertexNormal
FIELD ! !single !double !1, 4 ! !ConvexRGBA
FIELD ! !single !double !1, 4 ! !ConcaveRGBA
FIELD ! !uint32 !colcode !@NrOfVertices, 1 ! !VertexColor
# reading/writing nearest neighbors lists (external function to speed IO up)
EXPRE !$BFFREAD !!!!!@Neighbors = bvqx_srf_parseneighbors(fid, @NrOfVertices);
EXPRE !$BFFWRITE !!!!!bvqx_srf_writeneighbors(fid, @Neighbors);
# triangles & strips
EXPRE !$BFFWRITE !!!!!@TriangleVertex = @TriangleVertex' - 1;
FIELD ! !uint32 !double !3, @NrOfTriangles ! !TriangleVertex
EXPRE ! !!!!!@TriangleVertex = @TriangleVertex' + 1;
FIELD ! !uint32 !double !1, 1 ! !NrOfTriangleStrips
EXPRE !$BFFREAD !!!!!@TriangleStripSequence = zeros(0, 1);
EXPRE !$BFFWRITE !!!!!@TriangleStripSequence = @TriangleStripSequence - 1;
FIELD !@NrOfTriangleStrips > 0!uint32 !double !@NrOfTriangleStrips, 1 ! !TriangleStripSequence
EXPRE ! !!!!!@TriangleStripSequence = @TriangleStripSequence + 1;
# auto-linked MTC filename
FIELD !@FileVersion > 3 !cstring !cstring !1, 1 ! !AutoLinkedMTC
# 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 = 4;
@Reserved0 = 0;
@NrOfVertices = 40962;
@NrOfTriangles = 81920;
@MeshCenter = [128, 128, 128];
@VertexCoordinate = 128 * ones(@NrOfVertices, 3);
@VertexNormal = [ones(@NrOfVertices, 1), zeros(@NrOfVertices, 2)];
@ConvexRGBA = [0.333, 0.677, 0.980, 0.400];
@ConcaveRGBA = [0.10, 0.240, 0.333, 0.400];
@VertexColor = uint322colcode(uint32(zeros(@NrOfVertices, 1)));
@Neighbors = cell(@NrOfVertices, 2);
@Neighbors{1, 1} = 5;
@Neighbors{1, 2} = zeros(1, 5);
@Neighbors(2:12, :) = @Neighbors(ones(1, 11), :);
@Neighbors{13, 1} = 6;
@Neighbors{13, 2} = zeros(1, 6);
@Neighbors(14:@NrOfVertices, :) = @Neighbors(13 * ones(1, @NrOfVertices - 13), :);
@TriangleVertex = zeros(@NrOfTriangles, 3);
@NrOfTriangleStrips = 0;
@TriangleStripSequence = zeros(0, 1);
@AutoLinkedMTC = '';
EndNewFileCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -