コード例 #1
0
ファイル: las2ght.c プロジェクト: HydroLogic/libght
static GhtErr
l2g_build_schema(const Las2GhtConfig *config, Las2GhtState *state)
{
    int i = 0;
    GhtSchemaPtr schema;
    GhtDimensionPtr dim;
    GHT_TRY(ght_schema_new(&schema));
    
    /* Add 'X' dimension (position 0) */
    GHT_TRY(ght_dimension_new_from_parameters("X", "", GHT_DOUBLE, 1.0, 0.0, &dim));
    GHT_TRY(ght_schema_add_dimension(schema, dim));

    /* Add 'Y' dimension (position 1) */
    GHT_TRY(ght_dimension_new_from_parameters("Y", "", GHT_DOUBLE, 1.0, 0.0, &dim));
    GHT_TRY(ght_schema_add_dimension(schema, dim));

    /* Add 'Z' dimension (position 2) */
    GHT_TRY(ght_dimension_new_from_parameters("Z", "", GHT_DOUBLE, 1.0, 0.0, &dim));
    GHT_TRY(ght_schema_add_dimension(schema, dim));
    
    /* Add optional attributes (positions 3+) */
    for ( i = 0; i < config->num_attrs; i++ )
    {
        LasDimension ld = LasAttributes[config->attrs[i]];
        GHT_TRY(ght_dimension_new_from_parameters(ld.name, "", ld.type, ld.scale, ld.offset, &dim));
        GHT_TRY(ght_schema_add_dimension(schema, dim));
    }

    state->schema = schema;
    return GHT_OK;
}
コード例 #2
0
static GhtSchemaPtr
ght_schema_from_pc_schema(const PCSCHEMA *pcschema)
{
	int i;
	GhtSchemaPtr schema;

	ght_schema_new(&schema);

	for ( i = 0; i < pcschema->ndims; i++ )
	{
		GhtDimensionPtr dim = ght_dimension_from_pc_dimension(pcschema->dims[i]);
		ght_schema_add_dimension(schema, dim);
	}

	return schema;
}