15 #include "CeeUnstructGrid/Base.h" 17 #include "CeeCore/RefCountedObject.h" 18 #include "CeeVisualization/Model.h" 19 #include "CeeCore/Color3f.h" 20 #include "CeeCore/BoundingBox.h" 21 #include "CeeCore/Str.h" 22 #include "CeeCore/Vec2f.h" 23 #include "CeeUnstructGrid/ModelSettings.h" 24 #include "CeeUnstructGrid/ResultInfo.h" 35 class HitItemCollection;
39 class DisplacementSettings;
46 class ParticleTraceGroup;
62 virtual void update(
int pctCompl) = 0;
114 void clearVisualization();
116 virtual size_t startUpdateVisualizationPerFrame(
Error* error = NULL);
117 virtual bool updateVisualizationForFrame(
size_t frameIndex,
Error* error = NULL);
122 bool rayIntersect(
int x,
int y,
const vis::View& view,
HitItem* hitItem)
const;
124 bool regionIntersect(
int x,
int y,
unsigned int width,
unsigned int height,
const vis::View& view,
bool acceptPartiallyContainedItems,
bool includeElementIndices, std::vector<PartHitItems>* itemList)
const;
125 bool polygonIntersect(
const std::vector<Vec2f>& polygonInWindowCoordinates,
const vis::View& view,
bool acceptPartiallyContainedItems,
bool includeElementIndices, std::vector<PartHitItems>* itemList)
const;
126 bool rayIntersect(
const Ray& ray,
HitItem* hitItem)
const;
129 size_t frameCount()
const;
130 size_t currentFrameIndex()
const;
131 int currentStateId()
const;
132 void setCurrentFrameIndex(
size_t frameIndex);
133 double particleTraceTime()
const;
134 void setParticleTraceTime(
double time);
136 virtual BoundingBox frameBoundingBox(
size_t frameIndex);
137 virtual BoundingBox partBoundingBox(
size_t frameIndex,
size_t globalGeometryIndex,
int partId);
138 virtual Str modelInfo()
const;
140 PartSettings* partSettings(
size_t globalGeometryIndex,
int partId);
141 const PartSettings* existingPartSettings(
size_t globalGeometryIndex,
int partId)
const;
149 size_t cuttingPlaneCount()
const;
153 void removeCuttingPlane(
const CuttingPlane* cuttingplane);
154 void removeAllCuttingPlanes();
156 size_t isosurfaceCount()
const;
157 const Isosurface* isosurface(
size_t index)
const;
160 void removeIsosurface(
const Isosurface* isosurf);
161 void removeAllIsosurfaces();
163 size_t isovolumeCount()
const;
164 const Isovolume* isovolume(
size_t index)
const;
167 void removeIsovolume(
const Isovolume* volume);
168 void removeAllIsovolumes();
170 size_t particleTraceGroupCount()
const;
175 void removeAllParticleTraceGroups();
176 bool particleTraceTimeRange(
size_t frameIndex,
double* minimumTime,
double* maximumTime)
const;
178 bool scalarRange(
int resultId,
double* min,
double* max)
const;
179 bool vectorRange(
int resultId,
double* min,
double* max)
const;
180 bool displacementRange(
double* min,
double* max)
const;
183 void setElementSetColor(
int setId,
const Color3f& color);
189 VTFrameSet* internal_vtFrameSet();
190 void internal_debug(
int code);
193 virtual cvf::Model* internal_cvfModel();
194 virtual std::vector<vis::OverlayItem*> internal_overlayItems();
195 virtual void internal_setViewCapabilities(
const cvf::OpenGLCapabilities& capabilities,
bool viewDoesHighlighting);
196 virtual bool internal_canAddToViewWithCapabilities(
const cvf::OpenGLCapabilities& viewCapabilities)
const;
197 virtual NotifyAction internal_detectAndConfigureViewClippingInModel(
const vis::View& triggeringView, cvf::OpenGLContext* cvfContext);
198 virtual void internal_applyViewClippingPlanesBeforeRendering(
const cvf::ClipPlaneSet* viewClipPlaneSet,
const cvf::Plane* dropShadowClipPlane);
199 virtual void internal_applyCameraTransformationToClippingPlanes(
const cvf::Camera& camera);
The data source of the model. For instance a file interface or custom built by the user...
Definition: DataSource.h:35
Data source interface for VTF model files.
Definition: DataSourceVTF.h:34
UpdateAction
Update action. Used in updateVisualization() to specify level of update needed in order to optimize t...
Definition: UnstructGridModel.h:76
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
virtual bool aborted()=0
Returns true if the operation should be aborted.
Configuration of a cutting plane.
Definition: CuttingPlane.h:33
Use this if you only used the setVisible() method on Parts, CuttingPlane, Isosurface or Isovolume...
Definition: UnstructGridModel.h:80
Use this if you only used the set*Color() or setOpacity() on Parts, CuttingPlane, Isosurface or Isovo...
Definition: UnstructGridModel.h:81
A general unicode based string class.
Definition: Str.h:28
virtual void update(int pctCompl)=0
Updates progress status in percent.
A ray that can be used for intersection testing.
Definition: Ray.h:27
Default update. Settings and data are inspected and any needed update is performed.
Definition: UnstructGridModel.h:78
A collection of HitItem instances.
Definition: HitItemCollection.h:28
Model holds information which is to be gathered to constitute a view.
Definition: Model.h:43
Various settings for the unstructured grid model.
Definition: ModelSettings.h:30
Only the positions of the nodes have changed. Note: Only use this when the position of the nodes have...
Definition: UnstructGridModel.h:84
Settings for mirrors in the model.
Definition: MirrorSettings.h:28
Axis-aligned bounding box.
Definition: BoundingBox.h:27
Class for storing an RGB color triplet.
Definition: Color3f.h:25
Configuration of an isovolume.
Definition: Isovolume.h:33
Data source interface for VTFx model files.
Definition: DataSourceVTFx.h:37
Configuration of a group of particle trace objects.
Definition: ParticleTraceGroup.h:31
Visual configuration of the color legend (visible, text color, etc)
Definition: UnstructGridModel.h:83
Settings for a specific scalar result.
Definition: ScalarSettings.h:34
Settings for a specific displacement result.
Definition: DisplacementSettings.h:28
Use this if you only used the ScalarSettings and ColorMapper methods.
Definition: UnstructGridModel.h:82
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40
The model specification.
Definition: ModelSpec.h:35
NotifyAction
Notification sent to the view.
Definition: Model.h:59
Progress object class.
Definition: UnstructGridModel.h:56
Error object for simple error management
Definition: Error.h:27
UnstructGridModel is a subclass of Model which adds specific model structure and functionality for re...
Definition: UnstructGridModel.h:72
Settings for a specific part.
Definition: PartSettings.h:31
Settings for a specific vector result.
Definition: VectorSettings.h:29
Use this if you only used the setHighlight() method on Parts, CuttingPlane, Isosurface or Isovolume...
Definition: UnstructGridModel.h:79
Configuration of an isosurface.
Definition: Isosurface.h:31
Use this class to generate a cutting plane animation.
Definition: CuttingPlaneAnimation.h:30
Only the transformation results have changed, if any.
Definition: UnstructGridModel.h:85
Small class containing the data for a hit of an intersection between a ray and a part in an UnstructG...
Definition: HitItem.h:26