<commit_before>/*
 * Copyright 2017 <NAME>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.github.mreutegg.laszip4j;

import com.github.mreutegg.laszip4j.laszip.LASpoint;

/**
 * A LAS point data record.
 */
public final class LASPoint {

    private final LASpoint p;

    LASPoint(LASpoint p) {
        this.p = p;
    }

    /**
     * @return "X" as a signed int.
     */
    public int getX() {
        return p.getX();
    }

    /**
     * @return "Y" as a signed int.
     */
    public int getY() {
        return p.getY();
    }

    /**
     * @return "Z" as a signed int.
     */
    public int getZ() {
        return p.getZ();
    }

    /**
     * @return "Intensity" as an unsigned short (char).
     */
    public char getIntensity() {
        return p.getIntensity();
    }

    /**
     * @return "Return Number" as a byte (3 bits).
     */
    public byte getReturnNumber() {
        return p.getReturn_number();
    }

    /**
     * @return "Number of Returns (given pulse)" as a byte (3 bits)
     */
    public byte getNumberOfReturns() {
        return p.getNumber_of_returns();
    }

    /**
     * @return "Scan Direction Flag" as a byte (1 bit).
     */
    public byte getScanDirectionFlag() {
        return p.getScan_direction_flag();
    }

    /**
     * @return "Edge of Flight Line" as a byte (1 bit).
     */
    public byte getEdgeOfFlightLine() {
        return p.getEdge_of_flight_line();
    }

    /**
     * @return "Classification" as an unsigned byte.
     */
    public byte getClassification() {
        return p.getClassification();
    }

    /**
     * @return "Scan Angle Rank (-90 to +90) - Left side" as a signed byte.
     */
    public byte getScanAngleRank() {
        return p.getScan_angle_rank();
    }

    /**
     * @return "User Data" as a unsigned byte.
     */
    public byte getUserData() {
        return p.getUser_data();
    }

    /**
     * @return "Point Source ID" as an unsigned short (char).<commit_msg>Add accessors for synthetic, key-point and withheld flags<commit_after>/*
 * Copyright 2017 <NAME>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.github.mreutegg.laszip4j;

import com.github.mreutegg.laszip4j.laszip.LASpoint;

/**
 * A LAS point data record.
 */
public final class LASPoint {

    private final LASpoint p;

    LASPoint(LASpoint p) {
        this.p = p;
    }

    /**
     * @return "X" as a signed int.
     */
    public int getX() {
        return p.getX();
    }

    /**
     * @return "Y" as a signed int.
     */
    public int getY() {
        return p.getY();
    }

    /**
     * @return "Z" as a signed int.
     */
    public int getZ() {
        return p.getZ();
    }

    /**
     * @return "Intensity" as an unsigned short (char).
     */
    public char getIntensity() {
        return p.getIntensity();
    }

    /**
     * @return "Return Number" as a byte (3 bits).
     */
    public byte getReturnNumber() {
        return p.getReturn_number();
    }

    /**
     * @return "Number of Returns (given pulse)" as a byte (3 bits)
     */
    public byte getNumberOfReturns() {
        return p.getNumber_of_returns();
    }

    /**
     * @return "Scan Direction Flag" as a byte (1 bit).
     */
    public byte getScanDirectionFlag() {
        return p.getScan_direction_flag();
    }

    /**
     * @return "Edge of Flight Line" as a byte (1 bit).
     */
    public byte getEdgeOfFlightLine() {
        return p.getEdge_of_flight_line();
    }

    /**
     * @return "Classification" as an unsigned byte.
     */
    public byte getClassification() {
        return p.getClassification();
    }

    /**
     * @return "Synthetic" flag.
     */
    public boolean isSynthetic() {
        return p.getSynthetic_flag() == 1;
    }

    /**
     * @return "Key-point" flag.
     */
    public boolean isKeyPoint() {
        return p.getSynthetic_flag() == 1;
    }

    /**
     * @return "Withheld" flag.
     */
    public boolean isWithheld() {
        return p.getWithheld_flag() == 1;
    }

    /**
     * @return "Scan Angle Rank (-90 to +90) - Left side" as a signed byte.
     */
    public byte getScanAngleRank() {
        return p.getScan_angle_rank();
    }

    /**
     * @return "User Data" as a unsigned byte.
     */
    public byte getUserData() {
        return p.getUser_data();
    }

    /**
     * @return "Point Source ID" as an unsigned short (char).
{'fraction_non_alphanumeric': 0.11539816772374913, 'fraction_numerical': 0.005813953488372093, 'mean_word_length': 2.133002207505519, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6033949', 'n_tokens_mistral': 1759, 'n_tokens_neox': 1693, 'n_words': 593}