18 #include "pandabase.h" 20 #include "internalName.h" 37 INLINE
const PfmFile &get_pfm()
const;
39 BLOCKING
void project(
const Lens *lens,
const PfmFile *undist_lut = NULL);
40 BLOCKING
void extrude(
const Lens *lens);
42 INLINE
void set_vis_inverse(
bool vis_inverse);
43 INLINE
bool get_vis_inverse()
const;
44 INLINE
void set_flat_texcoord_name(InternalName *flat_texcoord_name);
45 INLINE
void clear_flat_texcoord_name();
46 INLINE InternalName *get_flat_texcoord_name()
const;
47 INLINE
void set_vis_2d(
bool vis_2d);
48 INLINE
bool get_vis_2d()
const;
49 INLINE
void set_keep_beyond_lens(
bool keep_beyond_lens);
50 INLINE
bool get_keep_beyond_lens()
const;
52 INLINE
void set_vis_blend(
const PNMImage *vis_blend);
53 INLINE
void clear_vis_blend();
54 INLINE
const PNMImage *get_vis_blend()
const;
56 INLINE
void set_aux_pfm(
const PfmFile *pfm);
57 INLINE
void clear_aux_pfm();
58 INLINE
const PfmFile *get_aux_pfm()
const;
72 void clear_vis_columns();
73 void add_vis_column(ColumnType source, ColumnType target,
75 const TransformState *transform = NULL,
const Lens *lens = NULL,
76 const PfmFile *undist_lut = NULL);
78 BLOCKING
NodePath generate_vis_points()
const;
85 BLOCKING
NodePath generate_vis_mesh(MeshFace face = MF_front)
const;
87 BLOCKING
double calc_max_u_displacement()
const;
88 BLOCKING
double calc_max_v_displacement()
const;
89 BLOCKING
void make_displacement(
PNMImage &result,
double max_u,
double max_v,
bool for_32bit)
const;
90 BLOCKING
void make_displacement(
PfmFile &result,
double max_u,
double max_v,
bool for_32bit)
const;
93 bool uses_aux_pfm()
const;
94 void r_fill_displacement(
PNMImage &result,
int xi,
int yi,
95 double nxi,
double nyi,
double u_scale,
double v_scale,
97 void r_fill_displacement(
PfmFile &result,
int xi,
int yi,
98 double nxi,
double nyi,
double u_scale,
double v_scale,
101 void make_vis_mesh_geom(
GeomNode *gnode,
bool inverted)
const;
108 bool transform_point(
LPoint2f &point)
const;
109 bool transform_point(
LPoint3f &point)
const;
110 bool transform_vector(
LVector3f &vec)
const;
115 PT(InternalName) _name;
116 CPT(TransformState) _transform;
122 static void add_vis_column(VisColumns &vis_columns,
123 ColumnType source, ColumnType target,
125 const TransformState *transform = NULL,
126 const Lens *lens = NULL,
const PfmFile *undist_lut = NULL);
127 void build_auto_vis_columns(VisColumns &vis_columns,
bool for_points)
const;
128 CPT(GeomVertexFormat) make_array_format(
const VisColumns &vis_columns)
const;
135 PT(InternalName) _flat_texcoord_name;
137 bool _keep_beyond_lens;
140 VisColumns _vis_columns;
142 friend class VisColumn;
145 #include "pfmVizzer.I" This object provides a high-level interface for quickly writing a sequence of numeric values from a v...
The name of this class derives from the fact that we originally implemented it as a layer on top of t...
A base class for any number of different kinds of lenses, linear and otherwise.
This is a three-component vector distance (as opposed to a three-component point, which represents a ...
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
Defines a pfm file, a 2-d table of floating-point numbers, either 3-component or 1-component, or with a special extension, 2- or 4-component.
This is a two-component point in space.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A node that holds Geom objects, renderable pieces of geometry.
This class aids in the visualization and manipulation of PfmFile objects.