ftp.nice.ch/pub/next/graphics/3d/geomview.1.4.1.s.tar.gz#/Geomview/src/lib/geometry/hpoint3/hplane3.h

This is hplane3.h in view mode; [Download] [Up]

/* Copyright (c) 1992 The Geometry Center; University of Minnesota
   1300 South Second Street;  Minneapolis, MN  55454, USA;
   
This file is part of geomview/OOGL. geomview/OOGL is free software;
you can redistribute it and/or modify it only under the terms given in
the file COPYING, which you should have received along with this file.
This and other related software may be obtained via anonymous ftp from
geom.umn.edu; email: software@geom.umn.edu. */

/* Authors: Charlie Gunn, Pat Hanrahan, Stuart Levy, Tamara Munzner, Mark Phillips */

#ifndef HPLANE3DEF
#define HPLANE3DEF

typedef float HPl3Coord;
typedef struct { HPl3Coord a, b, c, d; } HPlane3;

extern HPlane3 *HPl3Create();
extern void HPl3Delete(/* HPlane3 *pl */);

extern void HPl3Print(/* HPlane3 *pl */);
extern void HPl3Copy(/* HPlane3 *pl1, *pl2 */);
extern void HPl3From(/* HPlane3 *pl, HPl3Coord a, b, c, d */);
extern int HPl3From3HPt3s(/* HPlane3 *pl, HPoint3 *pt1, *pt1, *pt1 */);
extern int HPl3From2HLn3s(/* HPlane3 *pl, HLine3 *ln1, *ln2 */);

extern int HPl3IntersectHPl3(/* HPlane3 *pl1, *pl2, HLine3 *ln */);
extern void HPl3Pencil(
    /* HPl3Coord t1, HPlane3 pl1, HPl3Coord t2, HPlane3 *pl2, *pl*/);

extern float HPl3DotHPt3(/* HPlane3 *pl, HPoint3 *pt */);

extern HPl3Normalize(/* HPlane2 *pl1, *pl2 */);

extern int HPl3Undefined(/* HPlane3 *pl */);
extern int HPl3Infinity(/* HPlane3 *pl */);
extern int HPl3Compare(/* HPlane3 *pl1, *pl2 */);

extern int HPl3CoincidentHPt3(/* HPlane3 *pl, HPoint3 *pt */);
extern int HPl3CoincidentHLn3(/* HPlane3 *pl, HLine3 *ln */);
extern int HPl3CoincidentHPl3(/* HPlane3 *pl1, *pl2 */);

extern void HPl3Transform(/* Transform3 T, HPlane3 *pl1, *pl2*/);
extern void HPl3TransformN(/* Transform3 T, HPlane3 *pl1, *pl2, int n*/);

extern void HPl3Dual(/* HPlane3 *pl, *HPoint3 *pt */);

/* Identify ideal plane */
extern HPlane3 HPl3Ideal;
extern void HPl3Perp(/* HPlane3 *pl, *HPoint3 *pt */);
extern HPl3Coord HPl3Angle(/* HPlane3 *pl1, *pl2 */);

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.