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

Referência de fonte: LIB/BODY.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/BODY.CC
Lines 33
Bytes 662
SHA-256 86f820690f0a2c29697a33524218cb19494657f4014b1fc7b6c0a2119a7cc4a4
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
4 body_step_y
11 body_step_vy
19 body_hit

Fonte completa

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

#ifndef BODY_CC_H
#define BODY_CC_H

float body_step_y(float y, float vy, float dt, float g, float radius) {
    y = y + vy * dt;
    if (y < radius)
        y = radius;
    return y;
}

float body_step_vy(float y, float vy, float dt, float g, float radius) {
    vy = vy + g * dt;
    y = y + vy * dt;
    if (y < radius)
        vy = 0.0 - vy * 0.3;
    return vy;
}

int body_hit(float ax, float ay, float az, float ar, float bx, float by,
             float bz, float br) {
    float dx;
    float dy;
    float dz;
    float r;
    dx = ax - bx;
    dy = ay - by;
    dz = az - bz;
    r = ar + br;
    return dx * dx + dy * dy + dz * dz < r * r;
}

#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-86f820690f0a2c29 Reviewed source: da3df29cb397 Class: generated-source-reference