<commit_before>/*
  The contents of this file are subject to the University of Utah Public
  License (the "License"); you may not use this file except in
  compliance with the License.
  
  Software distributed under the License is distributed on an "AS IS"
  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
  the License for the specific language governing rights and limitations
  under the License.

  The Original Source Code is "teem", released March 23, 2001.
  
  The Original Source Code was developed by the University of Utah.
  Portions created by UNIVERSITY are Copyright (C) 2001, 1998 University
  of Utah. All Rights Reserved.
*/


#ifndef LIMN_HAS_BEEN_INCLUDED
#define LIMN_HAS_BEEN_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif

#define LIMN "limn"

#include <stdlib.h>

#include <math.h>
#include <air.h>
#include <biff.h>
#include <ell.h>
#include <nrrd.h>

#define LIMN_MAXLIT 20

/*
******** limnQN enum
**
** the different quantized normal schemes currently supported
*/
typedef enum {
  limnQNUnknown,
  limnQN16,
  limnQN16PB1,
  limnQN15,
  limnQNLast
} limnQN;

/*
****** struct limnCam
**
** for all standard graphics camera parameters
**
** Has no dynamically allocated information or pointers
*/
typedef struct limnCam_t {
  float from[3],     /* location of eyepoint */
    at[3],           /* what eye is looking at */
    up[3],           /* what is up direction for eye */
    uMin, uMax,      /* range of U values to put on horiz. image axis */
    vMin, vMax,      /* range of V values to put on vert. image axis */
    near, far,       /* near and far clipping plane distances */
    dist;            /* distance to view plane */
  int eyeRel,        /* if true: near, far, and dist quantities
			measure distance from the eyepoint towards the
			at point.  if false: near, far, and dist
			quantities measure distance from the _at_
			point, but with the same sense (sign) as above */
    leftHanded;
  
  float W2V[16],     /* not usually user-set: the world to view transform */
    vspNear, vspFar,
    vspDist;         /* not usually user-set: near and far dist (view space) */
} limnCam;

typedef enum {
  limnDeviceUnknown,
  limnDevicePS,
  limnDeviceOpenGL,
  limnDeviceLast
} limnDevice;

typedef struct {
  float edgeWidth[5],
    creaseAngle,
    bgGray;
} limnOptsPS;

typedef struct limnWin_t {
  limnOptsPS ps;<commit_msg>documentation on cam->W2V<commit_after>/*
  The contents of this file are subject to the University of Utah Public
  License (the "License"); you may not use this file except in
  compliance with the License.
  
  Software distributed under the License is distributed on an "AS IS"
  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
  the License for the specific language governing rights and limitations
  under the License.

  The Original Source Code is "teem", released March 23, 2001.
  
  The Original Source Code was developed by the University of Utah.
  Portions created by UNIVERSITY are Copyright (C) 2001, 1998 University
  of Utah. All Rights Reserved.
*/


#ifndef LIMN_HAS_BEEN_INCLUDED
#define LIMN_HAS_BEEN_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif

#define LIMN "limn"

#include <stdlib.h>

#include <math.h>
#include <air.h>
#include <biff.h>
#include <ell.h>
#include <nrrd.h>

#define LIMN_MAXLIT 20

/*
******** limnQN enum
**
** the different quantized normal schemes currently supported
*/
typedef enum {
  limnQNUnknown,
  limnQN16,
  limnQN16PB1,
  limnQN15,
  limnQNLast
} limnQN;

/*
****** struct limnCam
**
** for all standard graphics camera parameters
**
** Has no dynamically allocated information or pointers
*/
typedef struct limnCam_t {
  float from[3],     /* location of eyepoint */
    at[3],           /* what eye is looking at */
    up[3],           /* what is up direction for eye */
    uMin, uMax,      /* range of U values to put on horiz. image axis */
    vMin, vMax,      /* range of V values to put on vert. image axis */
    near, far,       /* near and far clipping plane distances */
    dist;            /* distance to view plane */
  int eyeRel,        /* if true: near, far, and dist quantities
			measure distance from the eyepoint towards the
			at point.  if false: near, far, and dist
			quantities measure distance from the _at_
			point, but with the same sense (sign) as above */
    leftHanded;
  
  float W2V[16],     /* not usually user-set: the world to view transform.
			The _rows_ of this matrix (or the 3x3 submatrix)
			are the U, V, N vectors which form the right-handed
			view-space coordinate frame.  The matrix is stored
			in column-major order. */
    vspNear, vspFar,
    vspDist;         /* not usually user-set: near and far dist (view space) */
} limnCam;

typedef enum {
  limnDeviceUnknown,
  limnDevicePS,
  limnDeviceOpenGL,
  limnDeviceLast
} limnDevice;

typedef struct {
  float edgeWidth[5],
    creaseAngle,
    bgGray;
} limnOptsPS;

typedef struct limnWin_t {
  limnOptsPS ps;
{'fraction_non_alphanumeric': 0.08530236283540249, 'fraction_numerical': 0.01261513816579896, 'mean_word_length': 3.0942622950819674, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '1725503', 'n_tokens_mistral': 1659, 'n_tokens_neox': 1547, 'n_words': 628}