if (Objects.equals(name, next.name())) { this.attribute_queue = this.attribute_queue.tail(); this.attribute_values_remaining = this.header.vertexCount(); this.attribute_current = next;
String.format( "vertices %s", Long.toUnsignedString(this.header.vertexCount()))); this.writer.newLine();
while (parsed_vertices != this.header.vertexCount()) { final Optional<List<String>> line_opt = super.reader.line(); if (!line_opt.isPresent()) {
Math.multiplyExact( (long) buffer_config.vertexSizeOctets(), this.header.vertexCount());
private static List<SMFErrorType> checkVerticesAndTriangles( final SMFHeader header, final SMFSchema schema, final List<SMFErrorType> errors) { List<SMFErrorType> error_accum = errors; if (schema.requireTriangles() == SMF_TRIANGLES_REQUIRED) { if (header.triangles().triangleCount() == 0L) { error_accum = error_accum.append(errorTrianglesRequiredButEmpty()); } } if (schema.requireVertices() == SMF_VERTICES_REQUIRED) { if (header.vertexCount() == 0L) { error_accum = error_accum.append(errorVerticesRequiredButEmpty()); } } return error_accum; }
@Override public Optional<SMFParserEventsDataAttributeValuesType> onDataAttributeStart( final SMFAttribute attribute) { TreeMap<Integer, SMFByteBufferAttributePacker> packers = TreeMap.empty(); final SMFAttributeName name = attribute.name(); for (final Tuple2<Integer, SMFByteBufferPackingConfiguration> p : this.config) { final Integer id = p._1; final SMFByteBufferPackingConfiguration bc = p._2; final SortedMap<SMFAttributeName, SMFByteBufferPackedAttribute> by_name = bc.packedAttributesByName(); if (by_name.containsKey(name)) { final ByteBuffer b = this.attr_buffers.get(id).get(); final SMFByteBufferPackedAttribute pa = by_name.get(name).get(); final SMFByteBufferAttributePacker packer = new SMFByteBufferAttributePacker( this, b, bc, pa, this.header.vertexCount()); packers = packers.put(id, packer); } } this.attr_packers = packers; return Optional.of(this); }
this.vertex_size, in_header.vertexCount()); this.index_type = determineIndexType( in_header.triangleIndexSizeBits());
/** * Check preconditions for the type. */ @Value.Check default void checkPreconditions() { { final long tri_lsize = (long) this.triangles().size(); final long tri_hcount = this.header().triangles().triangleCount(); Preconditions.checkPreconditionL( tri_lsize, tri_lsize == tri_hcount, x -> "Triangle list size must match header count"); } { this.arrays().forEach(p -> { final long array_lsize = (long) p._2.size(); final long array_hcount = this.header().vertexCount(); Preconditions.checkPreconditionL( array_lsize, array_lsize == array_hcount, x -> "Attribute array size must match header count"); }); } } }
final long vertices = m.header().vertexCount(); final Vector<Vector3L> triangles = m.triangles(); final OptionalInt optimize_opt = this.config.optimize();