ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Referência de fonte: LIB/CLIP.CC

Referência de fonte: LIB/CLIP.CC

Registro determinístico da fonte. O conteúdo completo do arquivo é reproduzido abaixo; esta página não substitui a interpretação arquitetural dos capítulos autorais.

Identidade do arquivo

Campo Valor
Path LIB/CLIP.CC
Lines 28
Bytes 693
SHA-256 8ede9bbf18a2293afb761bfbd42233bfd3170da6d061f20ae65b89236b095206
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
4 clip_aabb
15 clip_ray_aabb

Fonte completa

O bloco seguinte é o arquivo textual integral na revisão indicada. Não há elisão, abreviação ou paráfrase.

#ifndef CLIP_CC_H
#define CLIP_CC_H

int clip_aabb(float ax, float ay, float az, float as,
              float bx, float by, float bz, float bs) {
    if (ax + as < bx || bx + bs < ax)
        return 0;
    if (ay + as < by || by + bs < ay)
        return 0;
    if (az + as < bz || bz + bs < az)
        return 0;
    return 1;
}

int clip_ray_aabb(float ox, float oy, float oz,
                  float dx, float dy, float dz,
                  float bx, float by, float bz, float s) {
    float t;
    if (dx == 0.0)
        return clip_aabb(ox, oy, oz, 0.1, bx, by, bz, s);
    t = (bx - ox) / dx;
    if (t < 0.0)
        t = (bx + s - ox) / dx;
    return t >= 0.0 && t < 64.0;
}

#endif

Papel deste registro

O atlas garante rastreabilidade arquivo-a-arquivo. Responsabilidade, invariantes, ownership, concorrência, segurança, desempenho e interação entre subsistemas pertencem aos capítulos autorais e devem citar este arquivo quando aplicável.

Registro do documento ID: source-8ede9bbf18a2293a Reviewed source: da3df29cb397 Class: generated-source-reference